在SQL Server 2008中,如何将格式为mmddyyyy
的字符串转换为datetime
?
我的目标栏是DateTime
我try 了Convert
个和Date
个样式值中的大多数,但我收到了一条错误消息:
"将varchar数据类型转换为datetime数据类型导致值超出范围."
在SQL Server 2008中,如何将格式为mmddyyyy
的字符串转换为datetime
?
我的目标栏是DateTime
我try 了Convert
个和Date
个样式值中的大多数,但我收到了一条错误消息:
"将varchar数据类型转换为datetime数据类型导致值超出范围."
OP想要mmddyy,而普通转换不适用于此:
select convert(datetime,'12312009')
Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in
an out-of-range datetime value
所以试试这个:
DECLARE @Date char(8)
set @Date='12312009'
SELECT CONVERT(datetime,RIGHT(@Date,4)+LEFT(@Date,2)+SUBSTRING(@Date,3,2))
输出:
-----------------------
2009-12-31 00:00:00.000
(1 row(s) affected)