“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 行)
*/