我想查看此查询时间是否低于0
select *
from voorwerp
where (Select (((Cast(((DATEADD(dd, looptijd, datum)) - getdate()) as float) * 24.0)*60.0)*60.0) AS tijd from voorwerp) <= 0
我收到此错误:
子查询返回的值超过1。这是不允许的 子查询跟随=,!=,&lt;,&lt; =,&gt;,&gt; =或当子查询用作 表达。
答案 0 :(得分:0)
您不需要子查询,以避免在可以使用CTE的地方使用函数。
试试这个:
;with CTE
as
(
SELECT
--you need to specify a name for your column,
CAST(DATEADD(dd, looptijd, datum) - GETDATE() AS FLOAT) as TIJD
FROM voorwerp
<= 0
)
Select
--you need to specify a name for your column
From CTE
WHERE TIJD <= 0
答案 1 :(得分:0)
要解决此问题,请重写SQL,如下所示:
SELECT v.*
FROM voorwerp v
WHERE (
SELECT CAST(DATEADD(dd, looptijd, datum) - GETDATE() AS FLOAT) as tijd
FROM voorwerp
) <= 0