where子句中的动态日期

时间:2014-03-21 15:10:31

标签: sql-server

以下声明正常运作

select * from tblLibrary where returnDate < {ts '2014-03-21 15:06:05.300'}

但是当我用 GETDATE()替换&#39; 2014-03-21 15:06:05.300&#39; 时,该功能无效。< / p>

任何建议

先谢谢

2 个答案:

答案 0 :(得分:0)

select * from tblLibrary where returnDate < GETDATE()

DECLARE @DATE smalldatetime;
Select  @DATE = GETDATE();
select * from tblLibrary where returnDate < @DATE;

答案 1 :(得分:0)

{ts '2014-03-21 15:06:05.300'}ODBC escape sequence,用于指定时间戳。它具有非常严格的语法,并且可用于指定值。你不能将这样的序列与例如内置功能。 {ts GETDATE()}无效。

但不清楚为什么要尝试将两者结合起来 - 您只需指定GETDATE()而无需使用转义语法。

select * from tblLibrary where returnDate < GETDATE()