Sql-Server

SQL日期和時間查詢未全部導入

  • January 6, 2019

我有下表,當我執行此查詢時:

SELECT *
FROM table1
WHERE Date <= "11/15/2018 12:00:00 AM"

它只檢索日期 15,14,13,12,11,10 和 1 Nov 2018 。我該如何解決這個問題?謝謝!

WHERE我嘗試將查詢部分中的日期格式更改為"11/15/18 12:00:00 AM",它不起作用。

在此處輸入圖像描述

這看起來像是日期列根本不是日期,而是字元串的情況。

您不會從 11 月 2 日到 11 月 9 日,因為對字元串11/1....進行排序併計算它是否小於字母數字順序。

理想情況下,日期將儲存為日期,然後您現有的查詢將起作用。這也將確保日期是有效的日期,並且您最終不會得到 2 月 32 日的數據,甚至是隨機字元串。

如果您無法更改列的類型,則必須將數據庫值轉換為日期以進行比較(這會損害性能,但會得到您期望的結果)。

引用自:https://dba.stackexchange.com/questions/226406