我有一个[颜色]列,其中包含'黑','红',NULL,'WW','RR'
我想要一个应该有
的列if color black then 'B'
if color red then 'r'
if color is Null then 'Empty'
for all other entries 'n/a'
我正在使用follwoing,但它显示错误
SELECT Name,
CASE color
WHEN 'black' THEN 'b'
WHEN 'red' THEN 'r'
WHEN ISNULL(color, 'empty')
else 'n/a'
END AS Color_code
FROM SalesLT.Product;
答案 0 :(得分:5)
您可以使用xrandr
结构执行此操作,但如果使用CASE
方法则无法调用函数,因此您可以使用CASE fieldname WHEN
:
CASE WHEN fieldname condition
OR:
SELECT Name,
CASE WHEN color = 'black' THEN 'b'
WHEN color = 'red' THEN 'r'
WHEN color IS NULL THEN 'empty'
else 'n/a'
END AS Color_code
FROM SalesLT.Product;
答案 1 :(得分:4)
你可以尝试这种方式
SELECT Name,
CASE
WHEN color = 'black' THEN 'b'
WHEN color = 'red' THEN 'r'
WHEN color is null THEN 'empty'
ELSE 'n/a'
END AS Color_code
FROM SalesLT.Product;