mg4377娱乐娱城官网_mg4377娱乐手机版_www.mg4377.com

当前位置: mg4377娱乐娱城官网 > mg > 正文

sql语句中的,sql中case语句的用法浅谈

时间:2019-06-02 06:32来源:mg
sql语句中的,sql中case语句的用法浅谈。sql中的case when语句,sqlcasewhen语句 1.在where子句中: 1 CREATE TABLE `hello`.`sometbl` ( 2 3 `id` INT NOT NULL AUTO_INCREMENT , 4 5 `a` VARCHAR(45) NULL , 6 7 `b` VARCHAR(45)

sql语句中的,sql中case语句的用法浅谈。sql中的case when语句,sqlcasewhen语句

1.在where子句中:

 1 CREATE  TABLE `hello`.`sometbl` (
 2 
 3   `id` INT NOT NULL AUTO_INCREMENT ,
 4 
 5   `a` VARCHAR(45) NULL ,
 6 
 7   `b` VARCHAR(45) NULL ,
 8 
 9   `c` VARCHAR(45) NULL ,
10 
11   PRIMARY KEY (`id`) ,
12 
13   UNIQUE INDEX `id_UNIQUE` (`id` ASC) );

1 INSERT INTO `hello`.`sometbl` (`a`, `b`, `c`) VALUES ('1', '1', '0');
2 
3 INSERT INTO `hello`.`sometbl` (`b`, `c`) VALUES ('1', '1');
4 
5 INSERT INTO `hello`.`sometbl` (`a`, `c`) VALUES ('1', '1');
6 
7 INSERT INTO `hello`.`sometbl` (`b`) VALUES ('1');

查询a,b,c中有七个满足=一标准的记录

SELECT * FROM hello.sometbl where ((case when a='1' then 1 else 0 end)
 (case when b='1' then 1 else 0 end)
 (case when c='1' then 1 else 0 end))=2;

 

二。在select中作为壹列

id为1,贰,三,四时个别出口,壹,二,三,四

SELECT id,case when id=1 then '一'
when id=2 then '二'
when id=3 then '三'
when id=4 then '四'
else '其它' end 中文数字
FROM hello.sometbl;

输出

图片 1

 

when语句,sqlcasewhen语句 1.在where子句中: 1 CREATE TABLE `hello`.`sometbl` ( 2 3 `id` INT NOT NULL AUTO_INCREMENT , 4 5 `a` VARCHAR(45) NULL , 6 7 `b` VAR...

 

 

SQL中Case的利用方法

select (case when Symbol='正常' then cast(standard.minvalue as nvarchar(50))  '-' cast(standard.maxvalue as nvarchar(50))
else standard.Symbol end) as Symbol1 from ItemStandard as standard

case语法:

Case具备二种格式。轻松Case函数和Case搜索函数。

 

case $arg in

复制代码 代码如下:

 

  arg1)

--简单Case函数

case.. when...then ...else   sql语句中的判别方法 

  语句1

CASE sex

cast(standard.minvalue as nvarchar(50))  将standard.minvalue 类型强转为 nvarchar(50) 类型 

  ;;

         WHEN '1' THEN '男'

  arg2)

         WHEN '2' THEN '女'

  语句2

ELSE '其他' END

  ;;

--Case寻找函数

  *)

CASE WHEN sex = '1' THEN '男'

  help 语句

         WHEN sex = '2' THEN '女'

  ;;

ELSE '其他' END

esac

那二种方式,能够实现平等的效益。轻巧Case函数的写法相对相当的短小,可是和Case寻找函数比较,功效方面会略带限制,比方写判别式。

 

再有1个亟需小心的难题,Case函数只回去第二个符合条件的值,剩下的Case部分将会被自动忽略。

eg:

--比方说,上面这段SQL,你恒久不也许获得“第二类”那些结果

图片 2

复制代码 代码如下:

图片 3

CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类'

 

         WHEN col_1 IN ('a')       THEN '第二类'

eg:

ELSE'其他' END

图片 4

上边大家来看一下,使用Case函数都能做些什么事情。

 

1,已知多少遵照其余壹种艺术张开分组,剖判。

有如下数据:(为了看得更清楚,笔者并未有使用国家代码,而是径直用国家名作为Primary Key)

国家(country)人口(population)

中国600

美国100

加拿大100

英国200

法国300

日本250

德国200

墨西哥50

印度250

基于这么些国度人口多少,计算澳国和欧洲的人口数量。应该猎取上边那个结果。

洲人口

亚洲1100

北美洲250

其他700

想要化解那些主题材料,你会怎么办?生成3个带有洲Code的View,是一个缓慢解决措施,然则那样很难动态的变动总结的不贰诀窍。

假如使用Case函数,SQL代码如下:

复制代码 代码如下:

SELECT  SUM(population),

        CASE country

                WHEN '中国'     THEN '亚洲'

                WHEN '印度'     THEN '亚洲'

                WHEN '日本'     THEN '亚洲'

                WHEN '美国'     THEN '北美洲'

                WHEN '加拿大'  THEN '北美洲'

                WHEN '墨西哥'  THEN '北美洲'

        ELSE '其他' END

FROM    Table_A

GROUP BY CASE country

                WHEN '中国'     THEN '亚洲'

                WHEN '印度'     THEN '亚洲'

                WHEN '日本'     THEN '亚洲'

                WHEN '美国'     THEN '北美洲'

                WHEN '加拿大'  THEN '北美洲'

                WHEN '墨西哥'  THEN '北美洲'

        ELSE '其他' END;

同样的,我们也能够用这几个办法来决断薪金的阶段,并总结每1阶段的人头。SQL代码如下;

复制代码 代码如下:

SELECT

编辑:mg 本文来源:sql语句中的,sql中case语句的用法浅谈

关键词: