case when 返回原值
时间: 2023-09-07 08:17:04 浏览: 157
CASE WHEN语句可以用于条件判断并返回相应的值。在这个例子中,引用描述了一个需求,根据age字段的值进行判断:如果age大于23,则返回'大于23';如果age小于23,则返回'小于23';其他情况则返回原值。同样,对于sex字段的值进行判断:如果为1,则返回'男';如果为2,则返回'女';其他情况返回异常。
引用说明了CASE WHEN语句的执行过程。首先,将CASE后面表达式的值与各个WHEN子句中的表达式的值进行比较。如果两者相等,则返回THEN后的表达式的值,然后跳出CASE语句。如果没有匹配的WHEN子句,则返回ELSE子句中的表达式的值。如果没有ELSE子句,则返回NULL。
所以,当需求是返回原值时,可以使用CASE WHEN语句中的ELSE子句,将原值作为ELSE子句中的表达式。这样,当条件不满足任何WHEN子句时,就会返回原值。
例如,对于一个名为user的表,包含字段user_name、birthday、age和password,可以使用以下SQL语句来返回原值:
SELECT user_name, age, CASE WHEN age > 23 THEN '大于23' WHEN age < 23 THEN '小于23' ELSE age END as age_status
FROM user
这样,如果age大于23,则返回'大于23';如果age小于23,则返回'小于23';其他情况则返回原值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [sql case when使用记录](https://blog.csdn.net/leiming01/article/details/84134659)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [case when then语句用法](https://download.csdn.net/download/lxlstone/10356541)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文