sql server2005中datetime类型数据插入失败

在表中定义了一个datetime类型数据birthday,向表里插入数据时insertintoperson(name,birthday)values('张三','1988... 在表中定义了一个datetime类型数据birthday,向表里插入数据时insert into person(name,birthday) values('张三','1988-01-01')提示从字符串向 datetime 转换时失败,怎么解决? 展开
 我来答
sadleaflzh
2013-07-23 · TA获得超过100个赞
知道小有建树答主
回答量:362
采纳率:100%
帮助的人:226万
展开全部
'1988-01-01'你要用cast或者convert转换一下才可以的,不能将字符串直接赋值给时间类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chen_hongyang
2013-07-23 · TA获得超过5447个赞
知道大有可为答主
回答量:2790
采纳率:91%
帮助的人:863万
展开全部
你可以先运行 select CONVERT(datetime , '1988-01-01') 看看 1988-01-01 转换成datetime的结果:1988-01-01 00:00:00.000 ,所以你的日期要写成 1988-01-01 00:00:00.000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jadilee
推荐于2016-07-19 · TA获得超过472个赞
知道小有建树答主
回答量:475
采纳率:40%
帮助的人:198万
展开全部
插入的时候把日期写成 cast('1988-01-01' as date) 或者是 cast('1988-01-01' as datetime)/.
不过我的做法是把日期列修改成varchar(10) 随便放,而在程序那里去 核实 日期是否合符格式的要求.yyyy-mm-dd
追问
还是不行
追答
你修改成文本格式呢? 贴程序给我看.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微风8009
2013-07-23 · TA获得超过304个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:165万
展开全部
语法无任何问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
2013-07-23 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5152万
展开全部
这个字符转换是没问题的,你看看这个表是否有触发器操作,引起了其他列字符的转换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式