簡體   English   中英

比較 Sql 中的日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM