SQL 中 CASE WHEN 的多种用法
CASE WHEN 语句在 SQL 中用于根据指定的条件返回不同的值。它是一种强大的工具,可以执行各种数据转换和查询操作。
基本用法
最基本的形式如下:
CASE WHEN <condition> THEN <value_if_true> ELSE <value_if_false> END</value_if_false></value_if_true></condition>
: 要评估的条件。: 如果条件为 true 时要返回的值。: 如果条件为 false 时要返回的值。
多重条件
CASE WHEN 语句可以处理多个条件,如下所示:
CASE WHEN <condition1> THEN <value_if_true1> WHEN <condition2> THEN <value_if_true2> ... ELSE <value_if_no_match>END</value_if_no_match></value_if_true2></condition2></value_if_true1></condition1>
搜索特定值
CASE WHEN 语句可用于搜索特定值,如下所示:
CASE <expression> WHEN <value1> THEN <value_if_found1> WHEN <value2> THEN <value_if_found2> ... ELSE <value_if_not_found>END</value_if_not_found></value_if_found2></value2></value_if_found1></value1></expression>
转换数据类型
CASE WHEN 语句可用于将数据从一种类型转换为另一种类型,如下所示:
CASE <expression> WHEN <value1> THEN CAST(<expression> AS <new_type>) ... ELSE CAST(<expression> AS <new_type>)END</new_type></expression></new_type></expression></value1></expression>
应用到多个列
CASE WHEN 语句可以应用到多个列,如下所示:
select CASE <condition> THEN <value_for_column1> ELSE <value_for_column2> END AS <new_column_name>, ... CASE <condition> THEN <value_for_columnn> ELSE <value_for_columnn> END AS <new_column_name>FROM <table_name>;</table_name></new_column_name></value_for_columnn></value_for_columnn></condition></new_column_name></value_for_column2></value_for_column1></condition>
取代 NULL 值
CASE WHEN 语句可用于取代 NULL 值,如下所示:
CASE WHEN <expression> IS NULL THEN <value_to_replace> ELSE <expression>END</expression></value_to_replace></expression>
免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)