如何编写一个 sql 语句为日期值创建一个新列,然后在 WHERE 子句中查询它
How do you write a sql statement that creates a new column for a date value and then queries it in the WHERE clause
我已经写了一个 sql 声明:
SELECT *
FROM (
SELECT DATEADD(dd, 60, PaymentDate) AS NewPaymentDate, *
FROM MyTable
) x
WHERE x.NewPaymentDate >=" & Date() & "
AND Archived=0
但它正在返回
Operand type clash: date is incompatible with int
PaymentDate 是数据库中的日期格式 - 但我是否必须将新日期列 'NewPaymentDate' 格式化为日期格式,如果是,我该怎么做?
谢谢
这看起来像 SQL 服务器语法。为什么需要传入当前日期?只需使用数据库日期:
SELECT t.*
FROM (SELECT DATEADD(day, 60, PaymentDate) AS NewPaymentDate, t.*
FROM MyTable t
) t
WHERE t.NewPaymentDate >= CONVERT(DATE, GETDATE()) AND
t.Archived = 0;
如果你想传入一个值,学习使用参数来传入值——语法因你用于访问的API而异数据库。
我已经写了一个 sql 声明:
SELECT *
FROM (
SELECT DATEADD(dd, 60, PaymentDate) AS NewPaymentDate, *
FROM MyTable
) x
WHERE x.NewPaymentDate >=" & Date() & "
AND Archived=0
但它正在返回
Operand type clash: date is incompatible with int
PaymentDate 是数据库中的日期格式 - 但我是否必须将新日期列 'NewPaymentDate' 格式化为日期格式,如果是,我该怎么做?
谢谢
这看起来像 SQL 服务器语法。为什么需要传入当前日期?只需使用数据库日期:
SELECT t.*
FROM (SELECT DATEADD(day, 60, PaymentDate) AS NewPaymentDate, t.*
FROM MyTable t
) t
WHERE t.NewPaymentDate >= CONVERT(DATE, GETDATE()) AND
t.Archived = 0;
如果你想传入一个值,学习使用参数来传入值——语法因你用于访问的API而异数据库。