问题描述
- 关于 sql server 2005 的 datetime数据类型
-
我在执行 insert into department(pdeptid,deptname,compid,createdate,leaderid) values(0,'11111111',13,'2015-01-11 21:22:36',0) 时,数据库中新增数据 它,请问问什么会主动添加 周 部分的内容呢? 其中 createdate 的数据类型是 datetime.
解决方案
这个跟区域设置的日期格式有关。
显示在数据库里是怎么样的并不重要, 无论怎么显示的,实际上存的值都一样。
如果你要取结果出来指定格式就可以了。用convert或在前台程序中用相应的函转换。
解决方案二:
msdn中并没有找到sql server如何存储datetime类型的数据,但是应该只是保存从1900-01-01 00:00:00开始的秒数,或者毫秒数,或者其它数字。
显示的时候再进行计算。
你看到的2015/1/11 星期日 21:22:36只是为了显示而格式化后的结果。
解决方案三:
可以看下这里的讨论:
What is the internal representation of datetime in sql server?
解决方案四:
自己转换成秒数的int类型,或者varchar
时间: 2024-07-29 04:30:49