Riz*_*Riz 19 sql t-sql sql-server
我有一个名为@status的变量,我在这个select语句之前设置了它:
Select
ordr_num as num,
ordr_date as date,
ordr_ship_with as shipwith
From
order
where ordr_num = @ordrNum
Run Code Online (Sandbox Code Playgroud)
我只想选择ordr_ship_with列@status <> 'Cancelled',否则我想为shipwith选择null.我该如何做到这一点?
Joe*_*orn 35
SELECT ordr_num as num, ordr_date as date,
CASE WHEN @status<>'Cancelled' THEN ordr_ship_with ELSE NULL END as shipwith
FROM order
WHERE ordr_num = @ordrNum
Run Code Online (Sandbox Code Playgroud)
试试看
Select
ordr_num as num,
ordr_date as date,
CASE
WHEN @Status <> 'Cancelled' THEN ordr_ship_with
ELSE NULL END
as shipwith
From order
where ordr_num = @ordrNum
Run Code Online (Sandbox Code Playgroud)
尽管我感觉到您的状态是订单表中的实际列。在这种情况下,请执行以下操作:
Select
ordr_num as num,
ordr_date as date,
CASE
WHEN Status <> 'Cancelled' THEN ordr_ship_with
ELSE NULL END
as shipwith
From order
where ordr_num = @ordrNum
Run Code Online (Sandbox Code Playgroud)