在Sql中比较日期

问题描述

| 我在尝试比较SQL查询中的日期时遇到了麻烦:
SELECT restrictions,restrictions_adddate FROM restrictions WHERE id = \'555555\'
AND restrictions_adddate BETWEEN ? and ?;
这两个参数系统都以\'mm-dd-yyyy \'格式打印。我收到错误的日期格式错误,但是尝试以多种方式进行操作。感谢您的帮助,如果需要更多信息,请告诉我。谢谢。     

解决方法

这适用于任何符合标准的DBMS:
SELECT restrictions,restrictions_adddate 
FROM restrictions 
WHERE id = \'555555\'
  AND restrictions_adddate BETWEEN DATE \'2011-01-01\' and DATE \'2011-12-31\';
    ,这是我的偏爱:
AND restrictions_adddate BETWEEN
    CONVERT(datetime,FLOOR(CONVERT(float,CAST(\'01-01-1900\' AS DATETIME))))
    AND CONVERT(datetime,Getdate())));
这使您可以比较日期(减去时间戳)。     ,尝试检查BOL中的“ 3”函数T-SQL参考。您应该能够使用此命令指定日期格式。