网站开发 · 2024年11月14日

sql中case when多种用法

case when 语句可用于根据条件返回不同值,处理多重条件、搜索特定值、转换数据类型、应用到多个列,以及取代 null 值。

sql中case when多种用法插图

SQL 中 CASE WHEN 的多种用法

CASE WHEN 语句在 SQL 中用于根据指定的条件返回不同的值。它是一种强大的工具,可以执行各种数据转换和查询操作。

基本用法

最基本的形式如下:

CASE WHEN <condition> THEN <value_if_true> ELSE <value_if_false> END

登录后复制

  • 要评估的条件。
  • 如果条件为 true 时要返回的值。
  • 如果条件为 false 时要返回的值。

多重条件

CASE WHEN 语句可以处理多个条件,如下所示:

CASE
    WHEN <condition1> THEN <value_if_true1>
    WHEN <condition2> THEN <value_if_true2>
    ...
    ELSE <value_if_no_match>
END

登录后复制

搜索特定值

CASE WHEN 语句可用于搜索特定值,如下所示:

CASE <expression>
    WHEN <value1> THEN <value_if_found1>
    WHEN <value2> THEN <value_if_found2>
    ...
    ELSE <value_if_not_found>
END

登录后复制

转换数据类型

CASE WHEN 语句可用于将数据从一种类型转换为另一种类型,如下所示:

CASE <expression>
    WHEN <value1> THEN CAST(<expression> AS <new_type>)
    ...
    ELSE CAST(<expression> AS <new_type>)
END

登录后复制

应用到多个列

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>;

登录后复制

取代 NULL 值

CASE WHEN 语句可用于取代 NULL 值,如下所示:

CASE
    WHEN <expression> IS NULL THEN <value_to_replace>
    ELSE <expression>
END

登录后复制

以上就是sql中case when多种用法的详细内容,更多请关注米云网其它相关文章!