在firebird中,我可以在where子句中使用DateAdd
函数吗?
我有以下sql;
select
s.number,
s.warranty_start
from
serial_number s
where
s.warranty_start > dateadd(year, -3, 'now')
我收到错误;
expression evaluation not supported
答案 0 :(得分:5)
您的第三个参数无效。
select
s.number,
s.warranty_start
from
serial_number s
where
s.warranty_start > dateadd(year, -3, current_timestamp)
'now'
是一个字符串文字,只能与date
关键字一起使用,例如date 'now'
。因此,您需要current_timestamp
'现在'来代替date
。
如果两者都相同,我更喜欢使用像current_timestamp
这样的标准SQL函数而不是DBMS特定的函数。