use*_*104 5 sql sql-server case
我试图做的是使查询考虑或不是日期时间值,所以我不必在存储过程中这样做
if @considerDate =1
begin
select * from table
where dateCol = @date
end
else
begin
select * from table
end
Run Code Online (Sandbox Code Playgroud)
我想做一些想法
select * from table
where dateCol = ( case
when @date is not null
then @date
)
Run Code Online (Sandbox Code Playgroud)
在单个查询中
Joh*_*Woo 15
你只需要添加END关键字
SELECT *
FROM tableName
WHERE dateCol = CASE WHEN @considerDate =1
THEN @date
ELSE dateCol
END
Run Code Online (Sandbox Code Playgroud)
如果我正确理解你,这应该有效:
SELECT *
FROM Table
WHERE dateCol =
CASE WHEN @date is not null then @date ELSE dateCol END
Run Code Online (Sandbox Code Playgroud)