`

SQL_case when语法

sql 
阅读更多

 

sql语言中有没有类似C语言中的switch case的语句??

  没有,用case   when   来代替就行了.   
  

  例如,下面的语句 比较表中A,B两个字段,并取出最大值

select 

case 

when A>B  then A

when A<B  then B

end

as maxnu

from test_t  
  例如,下面的语句显示中文年月   
    
  select   getdate()   as   日期,case   month(getdate())   
  when   11   then   '十一'   
  when   12   then   '十二'   
  else   substring('一二三四五六七八九十',   month(getdate()),1)   
  end+'月'   as   月份

=================================================

CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在WHERE 子句中使用 CASE。 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁首先让我们看一下 CASE 的语法。在一般的 SELECT 中,其语法如下: 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁SELECT <myColumnSpec> = 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁WHEN <A> THEN <somethingA> 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁WHEN <B> THEN <somethingB> 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁ELSE <somethingE> 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁END 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁在上面的代码中需要用具体的参数代替尖括号中的内容。下面是一个简单的例子: 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁USE pubs 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁SELECT 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁     Title, 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    'Price Range' = 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    END 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁FROM titles 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁ORDER BY price 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁这是 CASE 的典型用法,但是使用 CASE 其实可以做更多的事情。比方说下面的 GROUP BY 子句中的 CASE: 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁SELECT 'Number of Titles'Count(*
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁FROM titles 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁GROUP BY 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    END 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁你甚至还可以组合这些选项,添加一个 ORDER BY 子句,如下所示: 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁USE pubs 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁SELECT 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    END AS Range, 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁     Title 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁FROM titles 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁GROUP BY 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    END
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁     Title 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁ORDER BY 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    CASE 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price IS NULL THEN 'Unpriced' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price < 10 THEN 'Bargain' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        WHEN price BETWEEN 10 and 20 THEN 'Average' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁        ELSE 'Gift to impress relatives' 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁    END
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁     Title 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁GO 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁 
sql 中 case when 语法在这里添加日志标题 - 钱途无梁 - Notebook of 钱途无梁注意,为了在 GROUP BY 块中使用 CASE,查询语句需要在 GROUP BY 块中重复 SELECT 块中的 CASE 块。

分享到:
评论

相关推荐

    Oracle_case_when_用法

    在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ...

    case when和sum case when 写法及拼接字段

    在 SQL 查询语言中,`CASE WHEN` 结构是一种非常有用的工具,可以用来根据条件返回不同的值。它的工作原理类似于编程语言中的 `if...else` 语句,但在 SQL 中用于创建动态列或进行复杂的条件判断。 #### 基本语法 ...

    Access与sql_server_语法差异.doc

    Access 中的 IIF 函数对应 SQL Server 中的 Case+When+Else 语句,用于实现条件取值。 字段类型转换 Access 中的 CStr、CInt、CDate 函数对应 SQL Server 中的 Convert 或 Cast 函数,用于将字段类型进行转换。 ...

    sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End

    ### SQL数据库转Access SQL语句改写:Case When Then When Then Else End #### 知识点一:SQL CASE WHEN THEN 结构与Access IIF及SWITCH函数对比 在进行SQL到Access SQL的转换过程中,一个重要的知识点是了解如何...

    pl_sql基本语法例子.rar_SQL2569_oracle_pl/sql_plsql增删改查

    本资料主要涵盖了PL/SQL的基本语法以及数据的增删改查操作和视图的使用。 1. PL/SQL基础语法: PL/SQL由三部分组成:声明部分(Declaration)、执行部分(Execution)和异常处理部分(Exception Handling)。声明...

    SQL中case语法的使用

    ### SQL中的Case语法使用详解 在SQL查询语言中,`CASE`语句是一个非常重要的功能,它可以用来构建复杂的条件逻辑,实现对数据的灵活处理。本文将深入探讨SQL中的`CASE`语法及其应用场景。 #### 一、基本概念 `...

    SQL类似代码中IF的语法

    Sql_Case_When 很有用的SQL用法!

    sql 中 case when 语法使用方法

    首先,让我们了解`CASE WHEN`的基本语法。在一个普通的`SELECT`语句中,`CASE WHEN`的结构大致如下: ```sql SELECT &lt;myColumnSpec&gt; = CASE WHEN &lt;condition1&gt; THEN WHEN &lt;condition2&gt; THEN ... ELSE ...

    sql case when exists not exists in not in

    在SQL查询中,`CASE WHEN`、`EXISTS`、`NOT EXISTS`以及`IN`和`NOT IN`是常用的操作符,它们用于处理复杂的条件判断和数据筛选。这些概念对于理解和编写高效的SQL语句至关重要,尤其是在数据分析和数据库管理中。 `...

    SQL中Case语句用法讨论_BJ

    ### SQL中的Case语句深入解析 在SQL查询语言中,`Case`语句是一个非常强大的功能,用于在查询中执行条件判断,它可以根据不同的条件返回不同的结果,这使得SQL能够处理更加复杂的数据筛选和转换需求。`Case`语句有...

    SqlServer使用 case when 解决多条件模糊查询问题

    在SQL Server中,`CASE WHEN` 语句是一种强大的逻辑表达式,用于处理基于不同条件的复杂查询。在多条件模糊查询中,`CASE WHEN` 可以避免在程序端或数据库端拼接SQL字符串,从而减少代码量,提高安全性,并避免SQL...

    如何使用CASE WHEN语法判断入参代替if test=user-name != null and user-name !=

    本资源旨在深入探讨如何运用CASE WHEN语法巧妙绕过这些限制,实现更广泛平台兼容性与代码普适性的优雅升级。 1. 破除平台束缚,实现极致兼容性 不同于MyBatis `&lt;if&gt;` 标签在特定ORM框架下的应用,CASE WHEN是...

    详细解析 mysql 中的 case when 语句的使用

    ### MySQL中的Case When语句详解 ...此外,`CASE WHEN`还可以与其他SQL语句结合使用,比如聚合函数、子查询等,以满足更复杂的业务需求。希望本文能帮助你更好地理解和使用MySQL中的`CASE WHEN`语句。

    SQL_Server从入门到精通\SQL_Server从入门到精通

    - 条件语句如IF...ELSE和CASE...WHEN,允许根据不同的条件执行不同的SQL命令或返回不同的结果。 #### 函数与数据处理 - **汇总函数**如COUNT、SUM、AVG、MAX、MIN等,用于统计分析,计算列的总数、总和、平均值、...

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    CASE WHEN 语句是 SQL 中的一种条件语句,用于实现多个条件的判断和执行。它可以用来代替 IF 语句和 SWITCH 语句,在 Oracle 数据库中尤其常用。 CASE WHEN 语句的基本语法是: ```sql CASE WHEN 条件 THEN 结果 ...

    SQL Server存储过程基本语法

    ### SQL Server 存储过程基本语法知识点解析 #### 一、定义变量 在 SQL Server 中,我们可以使用 `DECLARE` 语句来定义变量,并通过 `SET` 或 `SELECT` 来给变量赋值。 ##### 1. 简单赋值 ```sql DECLARE @a int; ...

    SQL Server语法大全

    根据提供的文件信息,本文将对SQL Server中的数据操纵语言(Data Manipulation Language, DML)与数据定义语言(Data Definition Language, DDL)的关键概念及其语法进行深入解析。以下是对这些概念的详细解释: ##...

Global site tag (gtag.js) - Google Analytics