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

Sql Server 2000中插入日期型数据不正确,该怎么解决

2012-01-29 
Sql Server 2000中插入日期型数据不正确各位好,我近期在用SQLServer2000做毕业设计,但遇到这样一个问题:就

Sql Server 2000中插入日期型数据不正确
各位好,我近期在用SQL   Server   2000做毕业设计,但遇到这样一个问题:
就是我把日期2005-7-10插入到数据类型为datetime的列当中后,查询该值时为1905-06-12   00:00:00.000,请问这是怎么回事?怎样才能得到正确的日期阿?谢谢!

[解决办法]
Create Table TEST(ID Int, TestDate DateTime)
Insert TEST Select 1, 2005-7-10
Union All Select 2, '2005-7-10 '
GO
Select * From TEST
GO
Drop Table TEST
--Result
/*
11905-06-12 00:00:00.000
22005-07-10 00:00:00.000
*/

[解决办法]
insert tb(col) values( '2005-7-10 ')
[解决办法]
看出區別沒?
插入時間的時候,在前後必須加上單引號。
Insert TEST Select 2, '2005-7-10 '
[解决办法]
use northwind
insert into orders (orderdate) values ( '2005-7-10 ')
select top 1 * from orders order by OrderID desc


用上面的看一下 ,没问题吧

知道你的问题在哪啊,你肯定是插入的时候没加引号,系统对不加引号的当做数字来处理
2005 减去 7 减去 10 也就是1978,
整数 1978 转换成 datetime类型就是2005-07-10 00:00:00.000

insert into orders (orderdate) values (2005-7-10)

select Convert(datetime,1978)
明白了吧
也可以 先转换成 datatime 再插入
use northwind
insert into orders (orderdate) values (Convert(datetime, '2005-7-10 '))
select top 1 * from orders order by OrderID desc

热点排行