我想在 if else 或大小写表达式中创建一个选择表达式,但我无法让它工作。
我试过以下
select
(case when DateTime1 is null then select * from LogEntries where PC_TID > '2014-03-26'
else select * from LogEntries where DateTime1 > '2014-03-26'
end) as timeSearchParam
from LogEntries
而这个
if DateTime1 is null
begin
select * from LogEntries where PC_TID > '2014-03-26'
end
else
begin
select * from LogEntries where DateTime1 > '2014-03-26'
end
它们都不起作用,我只是想不通,问题出在哪里。
其中
一种方法是
select * from LogEntries where PC_TID > '2014-03-26' and DateTime1 is null
union all
select * from LogEntries where DateTime1 > '2014-03-26' and DateTime1 is not null
order by coalesce(DateTime1 , PC_TID)
或
select * from LogEntries
where
(PC_TID > '2014-03-26' and DateTime1 is null)
or
(DateTime1 > '2014-03-26' and DateTime1 is not null)
order by coalesce(DateTime1 , PC_TID)