我正在尝试转换mm/dd/yyyy
格式的日期
select convert(date,'31/12/2013',101)
但是我收到了这个错误
Msg 241,Level 16,State 1,Line 1
从字符串转换日期和/或时间时转换失败。
怎么做?我的系统(Windows 7)有dd-mm-yyyy
格式..系统日期格式会对它产生什么影响吗?`
答案 0 :(得分:2)
见
http://msdn.microsoft.com/en-us/library/ms187928.aspx
101是美式(mm / dd / yyyy)
尝试103(dd / mm / yyyy),这是英国/法国
SELECT CONVERT(DATE, '31/12/2013', 103)
答案 1 :(得分:2)
样式101
是美国样式,因此首先有几个月 - 您的字符串代表第31个月的第12天....
你需要使用的是样式 103 (英国/法国),它首先使用第一天 - 所以这个字符串是12月31日:
SELECT CONVERT(DATE, '31/12/2013', 103)
请参阅CAST
和CONVERT
上的the official MSDN SQL Server Books Online Documentation以及定义的样式及其含义