分类：电脑/网络-软件
问题：sqlserver中我创建表时设了一个字段默认为getdate(? 
sql server中我创建表时设了一个字段默认为getdate(),为什么总是1900-01-01，急呀？ reate table t_mng_stateinfo ( operno_cr char(19) primary key not null, opendate_cr datetime default getdate() ) insert into t_mng_stateinfo values(' 0000000002','') 查询结果总是为：  0000000002 1900-01-01 00:00:00sql server中我创建表时设了一个字段默认为getdate(),为什么总是1900-01-01，急呀？ reate table t_mng_stateinfo ( operno_cr char(19) primary key not null, opendate_cr datetime default getdate() ) insert into t_mng_stateinfo values(' 0000000002','') 查询结果总是为：  0000000002 1900-01-01 00:00:00.000 为什么？
回答：兄弟,原因在于你的这个语句 
insert into t_mng_stateinfo values('440000000000000002','') 
既然是默认,系统当你插入数据时,会自动获取这个时间,不需要赋空值 
在SQL Server2000中,当一个时间值是空就会自动置为1900-01-01 00:00:00.000 

插入语句写成这个就可以了 
--主键不能重复,所以在这里用了440000000000000003 
insert into t_mng_stateinfo(operno_cr) values('440000000000000003')