sqlsevercase when
时间: 2023-08-17 21:14:44 浏览: 32
在SQL Server中,CASE WHEN语句用于根据条件对数据进行条件性的操作。根据引用\[1\],当不符合CASE WHEN语句中的条件时,会执行ELSE逻辑,并将指定的列名更新为原来的值。例如,UPDATE语句中的CASE WHEN语句根据id的值来更新name字段,如果id等于1,则将name更新为'zhang san',如果id等于4,则将name更新为'li si',否则保持原来的值。
根据引用\[2\],在SELECT语句中使用CASE WHEN语句时,如果remark字段为null,想要返回"空",需要注意NULL与空字符串''是不同的。在CASE WHEN语句中,应该使用IS NULL来判断是否为null,而不是使用等号。所以正确的写法应该是:CASE WHEN remark IS NULL THEN '空' ELSE remark END。
根据引用\[3\],在使用CASE WHEN语句时,如果想要原样输出,可以在ELSE后直接写上列名即可。如果不枚举所有符合条件的数据,那么未被枚举到的字段会被更新为null。
综上所述,SQL Server中的CASE WHEN语句可以根据条件对数据进行条件性的操作,但需要注意NULL与空字符串的区别,并且在使用CASE WHEN语句时,需要枚举所有符合条件的数据,否则未被枚举到的字段会被更新为null。
#### 引用[.reference_title]
- *1* *2* *3* [update case when 多字段,多条件, mysql中case when用法](https://blog.csdn.net/weixin_49114503/article/details/122942377)[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^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]