區分BETWEEN 與=
在SQL Server 2000 和2005 中,BETWEEN 運算子及其組合。中的=運算子呈現不同的
BETWEEN 運算子(如查詢 1 所示)是用於指定值範圍(包括下限和上限)的簡寫符號。這使得在搜尋兩個特定日期之間的值時成為一個方便的選項,如提供的範例所示。
或者,如查詢 2 所示,= 運算子的組合指定一個範圍其中只有一端是包容性的。當一個或兩個端點應從選擇標準中排除時,通常會使用此方法。例如,查詢 2 將選擇在 10/15/2009 到 10/17/2009 之間發生的事件,不包括 10/18/2009 上的事件。
DATETIME 值的注意事項
但是,在處理 DATETIME 值時,BETWEEN 運算子且 = 運算子的組合表現不同。對於 DATETIME,比較是基於完整的日期和時間(包括秒)。這意味著指定範圍「10/15/2009」和「10/18/2009」之間的查詢 1 將僅返回 2009 年 10 月 18 日午夜之前發生的事件,從而有效排除當天的任何事件。
為了確保使用 DATETIME 時的準確性,請在比較過程中指定日期和時間。例如,要擷取10/18/2009 上的所有事件,請使用BETWEEN 表達式,指定「10/18/2009 00:00」作為下限,「10/18/2009 23:59:59」作為上限綁定。
以上是SQL Server 中的 BETWEEN 與 =:有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!