我有日期格式如下認爲:日期是SQL Server之間的連字符字符串
Date_str
19-12-2007
31-7-2009
3-1-2010
31-11-2009
etc.
我不能做到以下幾點:
CONCAT(RIGHT(Date_str,4),SUBSTRING(Date_str,3,3),LEFT(2))
,因爲你可以看到上述情況,日期不一樣長。 SQL Server中有沒有將日期提取爲日期時間/日期的方法?
我也試過
Convert(datetime, Date_str)
,但它只是拋出一個錯誤:
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
將它們存儲爲'YYYY-MM-DD',並避免在所有類型的SQL中使用此類:) – scsimon
日期類型沒有格式。只是*不*存儲日期爲字符串 –
@scsimon相反,使用適當的日期類型,並避免任何問題。以字符串形式存儲,您將永遠無法修復所有錯誤。例如,嘗試向該字符串添加一天。或檢索月份*名稱* –