日期:2014-05-18  浏览次数:20991 次

关于 SqlServer datetime 类型字段中出现‘上下午'的问题
我用的数据库是sqlserver   2000,今天忽然发现数据库表中   datetime类型字段的值都出现了‘上午’,如
2007-8-15   上午   13:24:56,
2007-8-14   上午   20:02:09,
我在网上没查到原因,我猜是数据库的某些设置错了,请高手指点。
谢谢!

------解决方案--------------------
数据库里datetime类型存储的只是一个数值,与格式无关

这是你取出后显示的内容吧,跟你的区域设置有关,你可以取出后对它进行格式化,格式成你想要的格式
------解决方案--------------------
2007-8-15 上午 13:24:56,
2007-8-14 上午 20:02:09,

这个数据不是你从数据库拿的吧?20:02:09用的是24小时制,不存在上午下午之分。
时间在数据库里面是没有错的,因为你看到的是转化为“字符串”的时间,因为被转化成了12小时制,所以你看到了“上午”“下午”字样,只是格式不同而已。
------解决方案--------------------
这个和程序没关系.你看的数据库里写的是上午下午
取出来的值还是按照24小时制的

------解决方案--------------------
看你windows的时间栏是不是显示了 上/下午

------解决方案--------------------
应该是程序端的问题吧.
如果是直接在数据库里插值,插不出这样的值.
会报这样的错(从字符串转换为 datetime 时发生语法错误。)