首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-03-04 
“Aug 28 2007 11:21AM”为什么不能写入datetime数据类型为什么将“Aug28200711:21AM”这中格式的数据写入data

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

热点排行