当前位置: 代码迷 >> Sql Server >> “Aug 28 2007 11:21AM”为什么不能写入datetime数据类型,该如何处理
  详细解决方案

“Aug 28 2007 11:21AM”为什么不能写入datetime数据类型,该如何处理

热度:43   发布时间:2016-04-27 16:07:00.0
“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 行)
*/
  相关解决方案