我有日期格式如下认为:日期是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相反,使用适当的日期类型,并避免任何问题。以字符串形式存储,您将永远无法修复所有错误。例如,尝试向该字符串添加一天。或检索月份*名称* –