精华内容
下载资源
问答
  • sqlserver中casewhen用法小结
    2020-12-31 13:23:12

    首先建表和插入数据语句: use Student go create table Score ( 学号 nvarchar(10), 课程 nvarchar(10), 成绩 int ) go insert into Score values('0001','语文',87); insert into Score values('0001','数学',79); insert into Score values('0001','英语'

    首先建表和插入数据语句:

    use Student

    go

    create table Score

    (

    学号 nvarchar(10),

    课程 nvarchar(10),

    成绩 int

    )

    go

    insert into Score values('0001','语文',87);

    insert into Score values('0001','数学',79);

    insert into Score values('0001','英语',95);

    insert into Score values('0002','语文',69);

    insert into Score values('0002','数学',84);

    insert into Score values('0001','语文',95);

    case when 用法一:

    CASE 简单表达式,它通过将表达式与一组简单的表达式进行比较来确定结果。

    select 学号,

    sum(case when 课程='语文' then 成绩 else 0 end ) as 语文,

    sum(case when 课程='数学' then 成绩 else 0 end ) as 数学,

    sum(case when 课程='英语' then 成绩 else 0 end ) as 英语

    from Score

    group by 学号

    case when 用法二:

    CASE 搜索表达式,它通过计算一组布尔表达式来确定结果。

    select 学号,成绩,

    case 成绩

    when 87 then '良'

    when 79 then '良'

    when 95 then '优'

    when 69 then '中'

    else '差' end as test

    from Score

    上面为本人对case when的理解,,如有错误希望批评指出,多谢!

    注:每个case 对应一列数据

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:php中文网

    更多相关内容
  • casewhen:创建可重用的dplyr :: case_when()函数
  • 数据库 casewhen用法

    2020-09-19 18:35:46
    select [Id] ,[TrainNumber] ,[SupplierId] , case warehouseType when 0 then [Amount] else [Amount]*-1 end as IsOut // 数据对比 ,[Amount] ,[ClassId] ,[WarehouseType] ,[Remark] ...
    select  [Id]
          ,[TrainNumber]
          ,[SupplierId]
          , case warehouseType when 0 then [Amount] else [Amount]*-1  end  as IsOut // 数据对比
          ,[Amount]
          ,[ClassId]
          ,[WarehouseType]
          ,[Remark]
          ,[SetInDate] from WWeiqinWarehousing
    

    创建了一个列数据是 Isout即可,其实就是 当数据正常的时间来进行数据比对

    Case具有两种格式。简单Case函数和Case搜索函数。

    第一种 格式 : 简单Case函数 :

    格式说明

    case 列名

    when 条件值1 then 选项1

    when 条件值2 then 选项2…

    else 默认值 end

    eg:

    select
        case   job_level
        when ‘1’ then ‘1111’
        when  ‘2’ then ‘1111’
        when  ‘3’ then ‘1111’
        else ‘eee’ end
        from dbo.employee

    第二种 格式 :Case搜索函数

    格式说明

    case

    when 列名= 条件值1 then 选项1

    when 列名=条件值2 then 选项2…

    else 默认值 end

    eg:

    update employee
        set e_wage =
        case
        when job_level = ‘1’ then e_wage1.97
        when job_level = ‘2’ then e_wage
    1.07
        when job_level = ‘3’ then e_wage1.06
        else e_wage
    1.05
        end

    提示:通常我们在写Case When的语句的时候,会容易忘记 end 这个结束,一定要记得哟!

    比较: 两种格式,可以实现相同的功能。

    简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的 值,剩下的Case部分将会被自动忽略。

    在这里插入图片描述

    展开全文
  • mysql 中casewhen用法

    千次阅读 2021-01-27 12:31:29
    需求:需要在查询出的字段中,判断这个某个字段是否为null,并指定想要的值,SELECTtemp.gId id,temp.`name`,temp.point,temp.give_user_proportion,temp.sales_price,temp.cover_img,temp.limit_num,temp.price,...

    需求:需要在查询出的字段中,判断这个某个字段是否为null,并指定想要的值,

    SELECT

    temp.gId id,temp.`name`,temp.point,temp.give_user_proportion,temp.sales_price,temp.cover_img,temp.limit_num,temp.price,temp.show_sale_price,temp.isPromotion is_promotionFROM(SELECTallgoods.gId,

    allgoods.`name`,

    allgoods.sale_num,

    allgoods.point,

    allgoods.give_user_proportion,

    allgoods.sales_price,

    allgoods.cover_img,

    allgoods.modify_date,

    allgoods.productId,pi.limit_num,pi.price,pi.show_sale_price,CASE

    WHEN pi.price IS NULL THEN

    FALSE

    ELSE

    TRUEEND ASisPromotionFROM(SELECTgood.id gId,

    good.`name`,

    good.sale_num,

    good.point,

    good.give_user_proportion,

    produc.sales_price,

    produc.cover_img,

    produc.modify_date,

    produc.id productIdFROM(SELECT

    *

    FROMgoods goodstempWHEREgoodstemp.is_del=FALSEAND goodstemp.check_status = 'configed'

    AND goodstemp.category_id = 174976742484877312) goodLEFT JOIN(SELECT

    *

    FROMproduct p2WHEREp2.is_del=FALSEAND p2.is_putaway =TRUEAND p2.is_show =TRUE

    ) producON good.id =produc.goods_idWHEREgood.id=produc.goods_id

    ) allgoodsLEFT JOIN(SELECT

    *

    FROMpromotion promWHEREprom.is_del=FALSEAND TO_DAYS(NOW()) >=TO_DAYS(prom.start_date)AND TO_DAYS(NOW()) <=TO_DAYS(prom.end_date)AND prom.publish_status = 'published') promotiontempON allgoods.gId =promotiontemp.goods_idLEFT JOIN promotion_item pi ON promotiontemp.id = pi.promotion_id

    )temp

    ORDER BY

    temp.isPromotion DESC

    结果:

    3bc2c13173e24b62a01d22affd01e1eb.png

    当你的表示myisam时:

    SELECT * FROM tbl -- this will do a "table scan". If the table has never had any DELETEs/REPLACEs/UPDATEs, the records will happen to be in the insertion order, hence what you observed.

    大致意思为,一个myisam引擎表在没有任何的删除,修改操作下,执行 select 不带order by,那么会按照插入顺序进行排序。

    If you had done the same statement with an InnoDB table, they would have been delivered in PRIMARY KEY order, not INSERT order. Again, this is an artifact of the underlying implementation, not something to depend on.

    对于innodb引擎表来说,在相同的情况下,select 不带order by,会根据主键来排序,从小到大

    展开全文
  • ,就可以在SQL语句中使用 Case When这个函数了. Case具有两种格式。简单Case函数和Case搜索函数。 第一种 格式 : 简单Case函数 : 格式说明 case 列名 when 条件值1 then 选择项1 when 条件值2 then 选项2....... else...

    MySQL 语句中执行优先级——and比or高

    例:

    select * from table where 条件1 AND 条件2 OR 条件3

    等价于

    select * from table where ( 条件1 AND 条件2 ) OR 条件3

    select * from table where 条件1 AND 条件2 OR 条件3 AND 条件4

    等价于

    select * from table where ( 条件1 AND 条件2 ) OR ( 条件3 AND 条件4 )

    sql执行顺序

    from > on > join > where > group by > having > select > order by > limit

    Case When

    当我们需要从数据源上 直接判断数据显示代表的含义的时候 ,就可以在SQL语句中使用 Case When这个函数了.

    Case具有两种格式。简单Case函数和Case搜索函数。

    第一种 格式 : 简单Case函数 :

    格式说明

    case 列名
    
        when  条件值1  then  选择项1
    
        when  条件值2   then  选项2.......
    
        else   默认值    end
    

    eg:

    select
        case   job_level
        when   '1'   then   '1111'
        when   '2'   then   '1111'
        when   '3'   then   '1111'
        else    'eee' end
        from   dbo.employee
    

    第二种 格式 :Case搜索函数

    格式说明

    case  
    
        when  列名= 条件值1  then  选择项1
    
        when  列名=条件值2   then  选项2.......
    
        else   默认值 end
    

    eg:

    update  employee
        set     e_wage =
        case
        when  job_level = '1'   then e_wage*1.97
        when  job_level = '2'  then e_wage*1.07
        when  job_level = '3'  then e_wage*1.06
        else   e_wage*1.05
        end
    

    提示:通常我们在写Case When的语句的时候,会容易忘记 end 这个结束,一定要记得哟!

    展开全文
  • 1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数 CASEWHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ ...
  • Sql case when 用法实例详解

    千次阅读 2021-06-03 15:43:40
    sql中case when还是比较常见的用法。经常会出现一段时间不用,相关写法与语法又记不太清楚的情况。干脆就记一下,以备不时之需。 1.准备数据 现在有一张表xxx,里面有一个字段叫basicinfo_credit_status,类型为整数...
  • 复制代码代码如下:--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASEWHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END复制代码代码如下:SELECT grade...
  • 1. CASE WHEN 表达式有两种形式--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASEWHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END2. CASE WHEN 在...
  • MySQL数据库之Mysql casewhen的三种用法

    千次阅读 2021-02-02 01:37:00
    本文主要向大家介绍了MySQL数据库之Mysql casewhen的三种用法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。<casewhen的三种用法:1.case字段when,字段的具体值。selecta.*,casenamewhen'...
  • case when的几种用法

    千次阅读 2021-06-05 19:01:52
    用法一: select case c_sex when 1 then '男' else '女' end as '性别', count(*) as '人数' from user_inofr group by '性别' 用法二: select case when c_sex=1 then '男' else '女' end as '性别'...
  • Oracle中case when的用法

    2021-01-26 16:11:31
    特记录对于case when的用法,欢迎各位朋友指正,不喜勿喷。 首先case when有两种表达方式,见下图的详细解释。但是在使用中需要我们灵活嵌套公式哦。 比如:表abc中记录了id,name,type。我们要根据type的类型...
  • SQL之CASE WHEN用法详解

    千次阅读 2021-07-16 16:57:12
    价格表如下: 当能耗值小于10时,使用P_LEVEL=0时的P_PRICE的值,能耗值大于10小于30使用P_LEVEL=1时的P_PRICE的值… CASE WHEN energy (SELECT P_LIMIT FROM TABLE_PRICE WHERE P_LEVEL = 0) THEN (SELECT P_PRICE...
  • sql语言中有没有类似C语言中的switch case的语句?
  • case when的使用方法

    千次阅读 2020-09-10 16:40:59
    else 默认值 end 下面来对case when进行简单测试使用,首先创建两张表 表A_TEST /* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50721 Source Host : localhost:3306 ...
  • HIVE case when用法

    千次阅读 2020-05-15 18:16:20
    id = 2 AND t.prod_type_3 NOT LIKE '%冰箱%' THEN 9 ELSE cate_id END cate_id, 注意:END只是作为条件的结束语句,后面字段为别名,没有特殊含义 2.case when 的用法 用法一 case tb1.os when 'android' then ' ...
  • db2存储过程CASE-WHEN的使用

    千次阅读 2018-06-25 19:15:57
    SET SCHEMA TMISUSR ;SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","TMISUSR";CREATE PROCEDURE "TMISUSR"."...P
  • 主要给大家介绍了关于MySQL排序中使用CASE WHEN的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Oracle中Case When的用法

    千次阅读 2021-11-08 20:18:28
    一、Case的两种表达式 1.1、简单的case表达式 SELECT CASE 列名 WHEN 值1 THEN 結果1 WHEN 值2 THEN 結果2 ELSE 结果3 END FROM table1; 1.2、检索的cse表达式 ...二、Case的不同用法 2.1、作为求个
  • case when和decode函数用法有一些相似,只是decode是枚举函数,而case when则更加灵活,同时case when相当于一个特殊的只有两个枚case when语句语法如下:case when 表达式 then valueA else valueB end;具体使用...
  • case when的详细用法

    千次阅读 2020-12-22 17:18:35
    case when的用法,列转行第一种用法,对表中字段可能出现的值,作出对应的处理一级目录一级目录一级目录一级目录一级目录 表test,字段如图: 第一种用法,对表中字段可能出现的值,作出对应的处理 **如图:**对...
  • case when 的三种用法:1. case 字段 when ,字段的具体值。select a.*,case namewhen '流浪' then '法师'else '战士'end as '类型'FROM c_20170920 a2. case when 字段,这个可以对字段进行取范围。SELECT a.*,...
  • 【SQL】SQL Case When用法

    千次阅读 2019-07-06 18:00:00
    可以在 SELECT、UPDATE、DELETE 和 SET 等语句以及 select_list、IN、WHERE、ORDER BY 和 HAVING 等子句中使用 CASE。这里使用MySQL数据库进行操作。 语法格式 1、简单表达式 select *,case sex when '1'...
  • sql语句之case when的用法

    千次阅读 2021-01-27 17:24:40
    当需要从数据源上直接判断数据显示带不动含义的时候,就可以在SQL语句中使用case when 函数。 语法如下: Case具有两种格式。简单Case函数和Case搜索函数。 简单Case函数格式: CASE 列名 WHEN 条件值1 THEN 选项1 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,017
精华内容 406
关键字:

casewhen用法

友情链接: ATL-APB-COM.rar