我怎样才能在sql server中转换这些数据

Sod*_*dem 0 sql sql-server-2008

我的日期列类型NVARCHAR(50)示例日期2010年9月2日星期五我想CONVERT DATETIME可以进行ORDER BY ..

我使用ORDER BY CONVERT(DATETIME,M.DeletedDate,102)DESC,我尝试了103,104,105 ......

错误消息=从字符串转换日期和/或时间时转换失败.

如何将该值转换为DATETIME或SMALLDATETIME请帮助我!

Rem*_*anu 5

类型列表记录在CAST和CONVERT(Transact-SQL)中.最接近你的风格是106(d mon yyy),但这将理解2 Sep 2010,实际上它也会理解2 September 2010.但没有风格会理解2 September 2010 Friday.这种风格非常不寻常,计算机不需要提醒日期是哪一天,他们知道......

您将不得不将数据格式更改为有效的数据格式.实际上,您应该使用DATETIME商店作为DATETIME开始,而不是进行昂贵的转换.如果数据来自外国来源,那么你必须将数据存储到表中之前将其转换为适当的,这就是整个ETL过程的全部内容.