比较Sql中的日期

时间:2011-05-26 13:57:18

标签: sql

我在尝试比较SQL查询中的日期时遇到了麻烦:

SELECT restrictions, restrictions_adddate FROM restrictions WHERE id = '555555'
AND restrictions_adddate BETWEEN ? and ?;

两个参数系统都以“mm-dd-yyyy”格式打印。我收到错误的日期格式错误,但尝试以多种方式执行此操作。任何帮助表示赞赏,如果需要更多信息,请告诉我。感谢。

3 个答案:

答案 0 :(得分:1)

这适用于任何符合标准的DBMS:

SELECT restrictions, restrictions_adddate 
FROM restrictions 
WHERE id = '555555'
  AND restrictions_adddate BETWEEN DATE '2011-01-01' and DATE '2011-12-31';

答案 1 :(得分:0)

尝试在BOL中检出CONVERT函数T-SQL引用。您应该可以使用此命令来确定日期的格式。

答案 2 :(得分:0)

这是我的偏好:

AND restrictions_adddate BETWEEN
    CONVERT(datetime, FLOOR(CONVERT(float, CAST('01-01-1900' AS DATETIME))))
    AND CONVERT(datetime, FLOOR(CONVERT(float, Getdate())));

这允许您比较日期(减去时间戳)。