SQL 之关于case 函数的使用

废话不多,直接上SQL

case 形式一:

SELECT
            f.series_id,
            <!-- f.fuel_flag, -->
            (CASE f.fuel_flag
            WHEN 1 THEN ‘汽油‘
            WHEN 2 THEN ‘柴油‘
            WHEN 3 THEN ‘油电混合‘
            WHEN 4 THEN ‘纯电动‘
            WHEN 5 THEN ‘油气混合‘
            WHEN 6 THEN ‘液化石油气‘
            WHEN 7 THEN ‘压缩天然气‘
            WHEN 8 THEN ‘甲醇‘
            WHEN 9 THEN ‘乙醇‘
            ELSE ‘‘
            END
            ) as fuel_flag,
            f.car_age
        FROM
            series_fuel_flag f

case 形式二:

SELECT
            f.series_id,
            <!-- f.fuel_flag, -->
            (CASE
            WHEN f.fuel_flag = 1 THEN ‘汽油‘
            WHEN f.fuel_flag = 2 THEN ‘柴油‘
            WHEN f.fuel_flag = 3 THEN ‘油电混合‘
            WHEN f.fuel_flag = 4 THEN ‘纯电动‘         ......
            ELSE ‘‘
            END
            ) as fuel_flag,
            f.car_age
        FROM
            series_fuel_flag f

形式二比形式一要灵活 “=” 可以换成其他表达式 如 “>,<” 等 还 可以

(case 
WHEN f.fuel_flag in (1,2,3) THEN ‘非电动‘
ELSE ‘‘  END
)但是如果是
(case 
 
WHEN f.fuel_flag in (1,2,3) THEN ‘非电动‘
WHEN f.fuel_flag in (1,2,3) THEN ‘燃油‘
ELSE ‘‘  END
)
只能获取到 非电动  而获取不到 燃油

原文地址:https://www.cnblogs.com/xingtangxiaoga/p/9714940.html

时间: 2024-10-03 07:16:34

SQL 之关于case 函数的使用的相关文章

SQL变量、Substring、charindex、case函数、去除重复

isnull(aa,0)删除表数据: truncate table aaa 添加字段: ALTER TABLE table1 ADD col1 varchar(200) DEFAULT '2008-05-22' 修改字段名: alter table table1 rename column col1 to col2; 修改字段属性: alter table table1 alter column col1 varchar(200) not null; 修改默认值: alter table tab

sql 语句之 case

case语句语法: --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 首先创建一张users表,其中包含id,name,sex三个字段,表内容如下: 复制代码 SQL> drop table users purge; drop table users p

case 函数语法与使用

case 函数是聚合函数的一种,为统计函数. case表达式: CASE selector WHEN value1 THEN action1; WHEN value2 THEN action2; WHEN value3 THEN action3 一.CASE WHEN 表达式有两种形式 (1)简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END (2)Case搜索函数 CASE WHEN sex = '1' THE

SQL Cast()函数

sql cast()函数 2010-09-17 13:30:26| 分类: Sql | 标签:sql case() 函数 |字号大中小 订阅 (1).CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型.以下例子用于将文本字符串'12'转换为整型: SELECT CAST('12' AS int) (2).返回值是整型值12.如果试图将一个代表小数的字符串转换为整型值,又会出现什么情况呢? SELECT CAST('12.5' AS int) (3).CAST()函数和

SQL中的case when then else end用法

转载自 http://lj.soft.blog.163.com/blog/static/7940248120109215191358/ Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方

你真的会玩SQL吗?Case的用法(转)

今天来总结整理一下Case,因为SQL查询中用得最多的逻辑判断. Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Ca

Oracle nvl、nvl2、nullif、decode、case函数详解

1.NVL函数 nvl(expr1,expr2),如果expr1为空,则返回expr2: 2.NVL2函数 nvl2(expr1,expr2,expr3),如果expr1为空,则返回expr3,否则返回expr2: 3.NULLIF函数 nullif(expr1,expr2),如果expr1=expr2,返回空,否则返回expr1,要求两个表达式数据类型一致: SQL> insert into t1 values(9); 说明1:NVL和NVL2函数在进行空值判断的时候,都会将函数内的表达式执行

【语法】SQL中的case when then else end用法-解决一个字段根据条件取不同值

Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要

SQL CHECK 约束&amp;Case when 的使用方法

1.CHECK 约束 SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制. SQL CHECK Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束.CHECK 约束规定 "Id_P" 列必须只包含大于 0