2017-02-20 27 views
1

如何選擇日期格式爲DD.MM.YYYY的兩個日期之間的所有行?在DD.MM.YYYY格式的日期之間進行選擇?

例如15.12.201325.12.2013

+3

修復您的數據存儲日期爲日期,而不是字符串。 –

+6

日期沒有格式。你是否將它們存儲爲'varchar'? –

回答

2

戈登和馬有評論之間,你應該認真考慮您的存儲作爲日期日期類型,而不是爲文本。話雖如此,你可以使用SQL Server的CONVERT()函數將日期列轉換爲datetime,然後將其與日期範圍進行比較。

SELECT * 
FROM yourTable 
WHERE CONVERT(datetime, date_col, 104) BETWEEN '2013-12-15' AND '2013-12-25' 
2

相反轉換爲datetime,使用between,以及使用YYYY-MM-DD的;
我建議轉換爲date,使用>= and <=YYYYMMDD

select * 
from t 
where convert(date, date_col, 104) >= '20131215' 
    and convert(date, date_col, 104) <= '20131225' 

舉個例子,即使您嘗試使用看似明確的YYYY-MM- DD,這可能會在某些情況下中斷 - 例如當用戶的語言設置設置爲法語時:

相關問題