[英]Comparing dates in 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';
尝试查看 BOL 中的CONVERT
function T-SQL 参考。 您应该能够使用它来指定日期的格式。
这是我的偏好:
AND restrictions_adddate BETWEEN
CONVERT(datetime, FLOOR(CONVERT(float, CAST('01-01-1900' AS DATETIME))))
AND CONVERT(datetime, FLOOR(CONVERT(float, Getdate())));
这允许您比较日期(减去时间戳)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.