求SQL语句,在线等待~
字符串转日期函数
字段名:year,month,day
数据:2007,3,16
类型:varchar
如何把这三个字段串在一起转化成datetime型的
我这样写的,select convert(datetime,(year+ '- '+month+ '- '+day),120) from aaa
但提示我:从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
大家帮帮忙啊
------解决方案--------------------select cast(year+ '- '+month+ '- '+day as datetime) as 转换结果 from aaa
------解决方案--------------------declare @t table(year varchar(20),month varchar(20),day varchar(20))
insert @t select '2007 ', '3 ', '16 '
select convert(datetime,(year+ '- '+month+ '- '+day),120) from @t
---结果
2007-03-16 00:00:00.000
------解决方案--------------------楼主本身语句是对的,只是数据库里的数据有的不符合要求罢了
请楼主查查,是不是月份或日期超出范围
------解决方案--------------------xiaoxi1031(小西) ( ) 信誉:100 Blog 2007-03-16 15:34:28 得分: 0
从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
老是报这个错
--------
這個錯誤就是由於組合出來的時間不符合造成的。
比如
Year 2007
Month 2
Day 30
這樣就會報錯