sql中case when多种用法-SQL

admin2年前 (2024-06-05)基础运维知识304
点击下载TXT

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>
登录后复制

相关文章

oracle重建索引怎么建的-Oracle

Oracle 重建索引的步骤 重建索引是一种维护数据完整性和提高查询性能的关键数据库操作。Oracle 中重建索引的步骤如下: 1. 禁用索引 使用 ALTER INDEX 命令禁用要重建的索引:...

sql日期格式化怎么设置-SQL

SQL 日期格式化设置 如何设置 SQL 日期格式? 在 SQL 中,可以使用 TO_CHAR() 函数来格式化日期值。TO_CHAR() 函数第一个参数指定要转换的日期值,第二个参数指定格式化字符...

sql分页查询语句怎么写-SQL

SQL 分页查询语句详解 分页查询是数据查询中常用的操作,它可以将查询结果分成多个页面,方便用户查看和操作。SQL 中分页查询的实现需要用到 LIMIT 和 OFFSET 子句。 语法: SELEC...

sql游标怎么排序-SQL

SQL 游标排序 SQL 游标是一种允许程序逐行访问查询结果集的机制。但是,默认情况下,游标不会对结果进行排序。 如何对 SQL 游标进行排序? 要对 SQL 游标进行排序,可以使用 ORDER B...

sql怎么清除表里的数据-SQL

如何清除 SQL 表中的数据 要清除 SQL 表中的数据,可以使用 TRUNCATE TABLE 语句。该语句比 DELETE 语句更有效,因为它立即从表中删除所有行,而不保留任何日志记录或触发器。...

sql被注入怎么解决-SQL

如何解决 SQL 注入问题 SQL 注入是一种常见的网络攻击,允许攻击者通过恶意输入操纵数据库查询。解决 SQL 注入问题至关重要,以保护您的应用程序和数据。 解决方案: 有几种方法可以解决 SQL...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。