我可以在Where子句中使用Firebird DateAdd函数吗?

时间:2014-10-13 10:51:13

标签: sql firebird firebird2.5

在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

1 个答案:

答案 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特定的函数。