在我的SQL查询中:
insert into Tbl_EmpMovement_T values (
'004101',
'2011-8-26',
CONVERT(datetime,convert(varchar(10),'2011-8-26',120)+' ' +
CONVERT(varchar(2),SUBSTRING('8:16',1,2))+':'+
convert(varchar(2),SUBSTRING('8:16',4,2))+':00.000',120),
CONVERT(datetime,convert(varchar(10),'2011-8-26',120)+' ' +
CONVERT(varchar(2),SUBSTRING('6:02',1,2))+':'+
convert(varchar(2),SUBSTRING('6:02',4,2))+':00.000',120)
)
我收到此错误
从字符转换日期和/或时间时转换失败 字符串。
答案 0 :(得分:0)
我宁愿尝试这个:
insert into Tbl_EmpMovement_T values (
'004101',
'2011-8-26',
CAST ('2011-8-26' + ' ' +
( SUBSTRING('16:02',0, PATINDEX('%:%', '16:02')+1)) +
( SUBSTRING('16:02',PATINDEX('%:%', '16:02')+1, 2)) AS datetime),
CAST ('2011-8-26' + ' ' +
( SUBSTRING('16:02',0, PATINDEX('%:%', '16:02')+1)) +
( SUBSTRING('16:02',PATINDEX('%:%', '16:02')+1, 2)) AS datetime)
)
这样,当时间部分在单位和两位数小时之间移动时,您不会遇到问题。