执行我的查询时,我收到的错误是“从字符串转换日期和/或时间时转换失败”,这是我的查询。
select OrderLog_Initiated, OrderLog_SessionDateTime
into #FullMemberOrderLog
from tbl_orderlog
where CONVERT(date,OrderLog_Initiated) between '2013-03-03' and '2013-03-08' -- order by OrderLog_Initiated
insert into #FullMemberOrderLog
select OrderLog_Initiated, OrderLog_SessionDateTime
from tbl_orderlog
where CONVERT(date,OrderLog_Initiated) between '2013-03-03' and '2013-03-08'
select #result = (cast(DATEDIFF(HOUR,CONVERT(date,'OrderLog_Initiated'),CONVERT(date,'OrderLog_SessionDateTime' )) as float) ) from #FullMemberOrderLog
请帮助我解决这个问题,真的我正在煎炸...我的预期结果是将'OrderLog_Initiated'表与'OrderLog_SessionDateTime'表进行比较并提供小时的时差,但我无法得到什么我预期。请有人帮助我,非常感谢你提前。
答案 0 :(得分:0)
你在说:
CONVERT(date,'OrderLog_Initiated')
尝试:
CONVERT(date,OrderLog_Initiated)
(列名称周围没有单引号,否则只会被视为字符串。)
此外,为什么您使用完全相同的查询同时执行SELECT INTO
和INSERT INTO
?选一个。
最后,你为什么这么说:
SELECT #result =
而不是:
SELECT result =