读书人

“Aug 28 2007 11:21AM”为什么不能写

发布时间: 2012-03-04 11:13:33 作者: rapoo

“Aug 28 2007 11:21AM”为什么不能写入datetime数据类型
为什么将“Aug 28 2007 11:21AM”这中格式的数据写入datatime字段报错?
“将数据类型 nvarchar 转换为 datetime 时出错。”

但直接粘到SQLSERVER表中可以啊。

[解决办法]
select convert(varchar(10),cast( 'Aug 28 2007 11:21AM ' as datetime),120)


----------
2007-08-28

(1 row(s) affected)
[解决办法]
这个问题与Windows系统的区域选项设置有关。如果区域选项设置成中文(中国), 'Aug 28 2007 11:21AM '是不可识别的日期格式,转换会出错。

改成美国试试。
[解决办法]
set language 'us_english '
select cast( 'Aug 28 2007 11:21AM ' as datetime)
--result
/*
-------------------------
2007-08-28 11:21:00.000

(所影响的行数为 1 行)
*/

读书人网 >SQL Server

热点推荐