我有一个[Color]列,包含'Black','Red',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'
Run Code Online (Sandbox Code Playgroud)
我正在使用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;
Run Code Online (Sandbox Code Playgroud)
您可以使用任一CASE结构执行此操作,但如果使用该CASE fieldname WHEN方法则无法调用函数,因此您可以使用CASE WHEN fieldname condition:
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;
Run Code Online (Sandbox Code Playgroud)
要么:
SELECT Name,
CASE color
WHEN 'black' THEN 'b'
WHEN 'red' THEN 'r'
WHEN NULL THEN 'empty'
else 'n/a'
END AS Color_code
FROM SalesLT.Product;
Run Code Online (Sandbox Code Playgroud)
你可以尝试这个方法
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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19210 次 |
| 最近记录: |