如何解决如何使用IF ELSE解析和更新T-SQL中的列值?
基于 DECRIPTION 中的子字符串,我想将值分配给另一列。
例如,在DECRIPTION列(rety#WA#hskhkhsd)中有一个子字符串,现在我将检查 #WA#。如果存在,我将在新列 Short_Code_Detail 中分配 WrongAnswer 。
我尝试使用LIKE
来做,但是我也想尝试IF ELSE
。
SELECT
[ID],[DECRIPTION],CASE
WHEN DECRIPTION LIKE '%#WR#%' THEN 'Wrong Routine'
WHEN DECRIPTION LIKE '%#RB#%' THEN 'Received Band'
WHEN DECRIPTION LIKE '%#WA#%' THEN 'Week A'
WHEN DECRIPTION LIKE '%#CP#%' THEN 'Change P'
WHEN DECRIPTION LIKE '%#BQ#%' THEN 'Bad Q'
WHEN DECRIPTION LIKE '%#RL#%' THEN 'Received L'
END AS Short_code_detail
FROM table_name
解决方法
在SQL和CASE中没有if和else用于实现相同的功能,可以获取的nearset选项是sql server中的IIF。
,这是使用IIF而不是CASE WHEN时查询的外观。唯一的区别是IIF需要最终的ELSE条件(在这种情况下,最后一个IIF的第三个参数为“ NULL”)
SELECT
[ID],[DECRIPTION],iif(DECRIPTION LIKE '%#WR#%','Wrong Routine',iif(DECRIPTION LIKE '%#RB#%','Received Band',iif(DECRIPTION LIKE '%#WA#%','Week A',iif(DECRIPTION LIKE '%#CP#%','Change P',iif(DECRIPTION LIKE '%#BQ#%','Bad Q',iif(DECRIPTION LIKE '%#RL#%','Received L',NULL)))))) AS Short_code_detail
FROM table_name
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。