'1988-01-01'你要用cast或者convert转换一下才可以的,不能将字符串直接赋值给时间类型
你可以先运行 select CONVERT(datetime , '1988-01-01') 看看 1988-01-01 转换成datetime的结果:1988-01-01 00:00:00.000 ,所以你的日期要写成 1988-01-01 00:00:00.000
插入的时候把日期写成 cast('1988-01-01' as date) 或者是 cast('1988-01-01' as datetime)/.
不过我的做法是把日期列修改成varchar(10) 随便放,而在程序那里去 核实 日期是否合符格式的要求.yyyy-mm-dd
语法无任何问题
这个字符转换是没问题的,你看看这个表是否有触发器操作,引起了其他列字符的转换