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

数据库日期输入没有加引号引起的灾难!解决方法

2012-03-09 
数据库日期输入没有加引号引起的灾难!!在SQLServer中输入日期的时候应该加上引号的,如 2007-1-1 ,如果只是

数据库日期输入没有加引号引起的灾难!!
在SQLServer中输入日期的时候应该加上引号的,如 '2007-1-1 ',如果只是输入了20007-1-1,结果显示是其他的日期,绝对不是本来的日子的.我就刚刚遇到了这样的事情,输入完了才发现数据都这样了啊,我是重新把数据库删掉了重新来的,幸好保存了语句只要加引号就行了,还是费了很多时间的.因为数据库的关系很多的!
请问大家遇到了这样的事情,不删掉数据库,怎么做到啊??
用delete   语句??先要禁止约束的吗??

[解决办法]
不加引号会把2007-1-1当成一个减法运算的,你可以算出那个时间的

select cast(2007-1-1 as datetime)
结果:
1905-06-29 00:00:00.000

就是据1900-1-1 2005天的那天
[解决办法]
select datediff(day, '1900-1-1 0:00:00 ', '1905-06-29 0:00:00 ')

结果:没有办法算
因为只知道 年-月-日= 2005
这种可能有很多
2007-1-1=2005
2008-1-2=2005

热点排行