EDIT: 的解決方案是在參考後的溶液.I粗心忽視DATETIME - > VARCHAR(10)串(日/月/年)迄今爲止SQL服務器
`語法CONVERT :
CONVERT (data_type [ (length) ] , expression [ , style ])`
我知道this後
的SQL Server(2005年,2000年,7.0)沒有服用任何一種靈活的,甚至不靈活,方式以字符串格式任意結構化的日期時間並將其轉換爲日期時間數據類型。
所以我正在尋找解決方案,只解決這種特定的字符串格式。
比方說,我在SQL Server中使用字段的表:inputDate
在datetime
格式
下面的代碼工作沒有轉換/施放
SELECT inputDate
FROM some_table
WHERE inputDate > '01/24/2013'
但它不會對
SELECT inputDate
FROM some_table
WHERE inputDate > '24/01/2013'
工作
投擲The conversion of a varchar data type to a datetime data type resulted in an out-of-range value
然後我試圖
SELECT inputDate
FROM some_table
WHERE inputDate > CONVERT(VARCHAR(10), '24/01/2013', 103)
拋出了同樣的錯誤
有沒有辦法在DD/MM/YYYY 字符串轉換爲可識別的日期時間格式在SQL SERVER?或者唯一的方法,正確的方法是在其他地方進行健康化?
問題是你需要決定一種格式或其他。您如何期待SQL Server知道「07/08/2012」是7月8日還是8月7日? –
@AaronBertrand通過在轉換函數中使用第三個agrument,我想。 JW。解決了這個問題。 – Larry
我指的是你引用的前一篇文章,他們似乎希望SQL Server知道是否自動使用101或103。 –