我必须将两个字段的日期和时间部分串联起来,这已经设法做到了,然后我需要测试结果是否为< getdate()
select count(cast(cast(DischargeDatenew as date) as datetime) + cast(DischargeTime as time))as Requiredby FROM [dbo].[Main]
where Location = 'Home' and ScriptTypeID = '1' and Requiredby < GETDATE()
不幸的是,第二个Requiredby
出现为无效的列名。我如何才能使该查询正常工作?我需要子查询吗?
是的,您将需要子查询:
select * from (select someExpression as Requiredby
FROM [dbo].[Main]
where Location = 'Home' and ScriptTypeID = '1') t
where Requiredby < GETDATE()
但我真的认为您想要这样:
select sum(case when cast(cast(DischargeDatenew as date) as datetime) +
cast(DischargeTime as time) < getdate() then 1
else 0 end) as Requiredby
FROM [dbo].[Main]
where Location = 'Home' and ScriptTypeID = '1'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句