我有一个名为@status的变量,我在这个select语句之前设置了它:
Select
ordr_num as num,
ordr_date as date,
ordr_ship_with as shipwith
From
order
where ordr_num = @ordrNum
我只想选择ordr_ship_with
列,如果@status <> 'Cancelled'
,否则我想为shipwith选择null。我该如何做到这一点?
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
试试吧
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
虽然我觉得STATUS是Order表中的实际列。在这种情况下,这样做:
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
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
试试这个
SELECT CASE
WHEN @status <> 'cancelled' THEN ordr_ship_with
ELSE null
END AS shipwith, ... other fields