在一个表中一个字段的类型原来是varchar型的,现在因为需要要将他变成datetime型的,但是昨天作了一下测试,发现直接更改类型后会报错,并且转换完后插入值会变得不可预期,比如如果原来值是空的时侯,现在变成了1900-1-1,如果我插入的数据是:10 22 2006 9:13AM这种样式,结果插入后变成了:
2006-10-21 17:19:00.000,但是类型现在必须要改,请高手帮看一下有什么好的解决办法!
2006-10-21 17:19:00.000,但是类型现在必须要改,请高手帮看一下有什么好的解决办法!
2006-10-21 17:19:00.000 是正常的
欧洲默认值 + 毫秒(看一下你的系统默认的时区)
select convert(varchar(23),getdate(),13)
--------------------------------------------------
22 10 2006 09:23:32:250(所影响的行数为 1 行)
------------------------
2006-10-22 09:26:43.810(所影响的行数为 1 行)
2006-10-21 17:19:00.000这个结果是ok的
set @stamptime =getdate()
print @stamptime
2006-10-21 17:19:00.000这个结果是ok的
-----------------------------------------------------------
为什么,搞不懂,我认为插入的是这种样式的10 22 2006 9:13AM插入结果就应该是10 22 2006 9:13AM的
________________________________________________________?在哪里设?系统时间哪里吗,不过前两天我试过没有问题啊,可以实现10 22 2006 9:13AM这种结果啊!