SQL2008 R2. 表结构如下
create table MITARBEITER (
ID int not null primary key,
ABT_ID char(2) not null references Abteilung(id),
NAME char(25) not null,
VORNAME char(25) not null,
GEBURTSDATUM datetime null,
GESCHLECHT char(1) null,
GEHALT money null,
ORT char(25) null,
PLZ char(6) null,
STRASSE char(30) null,
BILD image null
)
出错的insert语句如下:
insert into mitarbeiter values (10102,'a3','Huber','Petra', '14.5.1985','W',3000.0,'Varel',26316,'Hafenweg 3b',null);
神奇的是。。。这句是没错的:
insert into mitarbeiter values (25348,'a3','Keller','Hans', '3.2.1980','M',3400.0,'Jade',26349,'Jader Strasse 32',null);
求大神求解
综合你的描述:
这个是错的,'14.5.1985'
这个是对的,'3.2.1980'
估计你的系统默认的格式是: m.d.yyyy
建议:
1. 转成日期再插入
insert into mitarbeiter values (10102,'a3','Huber','Petra', convert(datetime,'1985-05-14 00:00:00',120),'W',3000.0,'Varel',26316,'Hafenweg 3b',null);
如果必须用你自己那个格式'14.5.1985',你自己找一下。
2. 或者:明确一下默认的日期格式。