我在尝试比较SQL查询中的日期时遇到了麻烦:
SELECT restrictions, restrictions_adddate FROM restrictions WHERE id = '555555'
AND restrictions_adddate BETWEEN ? and ?;
两个参数系统都以“mm-dd-yyyy”格式打印。我收到错误的日期格式错误,但尝试以多种方式执行此操作。任何帮助表示赞赏,如果需要更多信息,请告诉我。感谢。
答案 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())));
这允许您比较日期(减去时间戳)。