• case when then else end
    Case when 语句能在sql语句中植入语句判断的逻辑,类似于if else语句
    1 case 字段 when 什么时候 then 结果 else 结果2 end

    sex 为 1 等于男 0 等于女 该怎么将数字转化成汉字呢?
    SQL : select name,(case sex when 0 then “女” when 1 then “男” end)sex from table

    2 第二种编写方式,使用表达式来做显示
    case
    when 条件 then result1 else result2
    end
    如果条件为true 返回result1 不符合条件的返回为null 可以有多个when then end表示是结束,
    场景:score 大于90为优秀,80以上为良好,60是及格 其他的不及格,
    SQL:select name,score,(case
    when score>=90 then “优秀”
    when score>=80 then “良好”
    when score>=60 then “及格”
    else “不及格”
    end) level from table

    3 将列转化成行


SQL:SELECT
name,
MAX(CASE course WHEN ‘语文’ THEN score ELSE 0 END) AS ‘语文’,
max(CASE course WHEN ‘数学’ THEN score ELSE 0 END) AS ‘数学’,
max(CASE course WHEN ‘英语’ THEN score ELSE 0 END) AS ‘英语’,
AVG(score) AS ‘平均成绩’
FROM score GROUP BY name;

  • if
    if函数可以通过判断条件来返回特定值,
    语法:if(表达式,结果1,结果2)
    根据表达式 true返回结果1,false 返回结果2
    例子:select name,if(sex = 1,“男”,“女”)sex from table

  • ifnull
    为了防止null的尴尬 用特定的值来代替null
    select ifnull(price,0)price from goods where name =“light”;

  • case的位置
    示例

在select 之后 主要是控制显示
只显示在城市的人名和工资

SELECT name,case when city = '北京' THEN salary END FROM EMP


where 之后

-- 如果在北京 那么只显示工资大于6666的信息 如果 如果在在上海只显示大于4k的
select * from EMP where (case when city = '北京' then salary  end )>6666 or (case when city = '上海' then salary end)>4000

  • 解决字符集不匹配的问题
    select case when htbh ‘0’ then Translate(‘无’ USING NCHAR_CS) else htbh end from VIEW_EU_HTQC_VALID
  • union 解决字符集不匹配的问题 和添加一个无的数据
select to_char(case when dummy= 'X' then '无' else dummy end) as htbh from dual
union all
select to_char(htbh) from  VIEW_EU_HTQC_VALID
WHERE ISEND = 1 ORDER BY HTBH DESC ========================SELECT  '无' AS HTBH,'无' AS HTMC FROM dual
UNION ALL
SELECT TO_CHAR(HTBH),TO_CHAR(HTMC) FROM  VIEW_EU_HTQC_VALID
WHERE ISEND = 1

数据库中的case when ,if ,if null相关推荐

  1. Access数据库中Sum函数返回空值(Null)时如何设置为0

    在完成一个Access表中数据统计时,需要统计指定字段的和,使用到了Sum函数,但统计时发现,指定条件查询统计时有可能返回空值(Null),导致对应字段显示为空白,正常应显示为0.基本思路是在获取记录 ...

  2. 查找数据库中一条指定字段为NULL的数据

    比如我数据表有一条记录:id为1,name为空值,如果我直接 字段='' 去查询这个表,是无法找到这条数据的,可以 字段 IS NULL 来找到这条数据

  3. python 空值_数据库中的空值与NULL的区别以及python中的NaN和None

    展开全部 数据库里面的"32313133353236313431303231363533e59b9ee7ad9431333363393632空值"有两种:空字符("&qu ...

  4. 数据库中case when condition then else end的理解

    数据库中case when condition then else end的理解 数据库中根据不同的条件求数量或者是总数 select count(case when status=0 then 'd ...

  5. 关于数据库中NULL的描述,下列哪些说法符合《阿里巴巴Java开发手册》

    关于数据库中NULL的描述,下列哪些说法符合<阿里巴巴Java开发手册>:答案在文末 A. NULL=NULL的返回结果为true. B. NULL与任何值的比较结果都为NULL. C. ...

  6. Case Study: 利用PHP获取关系型数据库中多张数据表的数据

    一.目标 该笔记的目的是引导读者借助WampServer平台和MySQL数据库,利用HTML/CSS/JS/PHP设计一个多数据表关联的网页.在上一个案例(Case Study: 利用JS实现数据库网 ...

  7. oracle sql为null值,在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办

    在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacem ...

  8. 数据库中的null和c#中的null

    再向数据库中插入数据时,如果插入c#中的null会报错,需要转换成SQl中的DBNull.Value public static object ToDbNull(object value)       ...

  9. mysql中的钱null_MySQL数据库中null的知识点总结

    在mysql数据库中,null是一个经常出现的情况,关于mysql中的null,有哪些注意事项呢?下面简单总结归纳下,后续会不断补充. 1. is null 首先判断数据库中某一列的值是否为null, ...

  10. 数据库中case when 的用法

    CASE WHEN 及 SELECT CASE WHEN的用法 Case具有两种格式.简单Case函数和Case搜索函数. 1.简单Case函数 CASE sex WHEN '1' THEN '男' ...

最新文章

  1. 给未来元素添加事件 jquery 1.10.2 版本
  2. Python CNN风格迁移
  3. Python学习 8day__高级语法
  4. java web容器原理_javaWeb工作原理
  5. 先生,要点单吗? (HTTP协议概览)
  6. unixODBC的使用
  7. [转载] numpy的属性和函数
  8. docker php 一键部署_提升10倍生产力:IDEA远程一键部署SpringBoot到Docker
  9. 基于WEB的网上购物系统的设计与实现(附:源码 论文 sql文件)
  10. 笔记 左程云算法基础
  11. 小米手机hbuilder开发者模式
  12. java-for循环9的倍数(基础)
  13. 基于FPGA的两种SDI视频方案(GTX+外接芯片)
  14. xp怎样修改计算机mac地址,WinXP系统MAC地址修改的方法
  15. java.lang.NoClassDefFoundError: Could not initialize class com.cyj.util.Jdbc
  16. 提交百度快速收录真的能达到秒收录吗
  17. 最简单linux桌面环境,推荐:轻型简易的Linux桌面环境
  18. 用IntelliJ IDEA自带的文本差异对比器
  19. wstmart不错。可以用用
  20. java如何调用pyramid函数_讲解:ICM、Pyramid、JAVA,PYTHON、PYTHON ,C++SPSS| Statis

热门文章

  1. [leetcode] @python 113. Path Sum II
  2. Wine——在Linux上运行Windows软件
  3. 关于C#编译器错误CS0685(VS2005)
  4. C++ / vs 如何生成自己的静态库(lib)文件
  5. php 盒子边距,CSS 盒子模型外边距
  6. 微服务 前台调用后台的慢的原因_也只有阿里P8出身的他能把SpringCloud微服务架构商城项目整的这么干了...
  7. 拓端tecdat|R语言中GLM(广义线性模型),非线性和异方差可视化分析
  8. 拓端tecdat|R平方/相关性取决于预测变量的方差
  9. 计算机专业新手博客,【转载】学计算机必读献给计算机专业大一新生(1)
  10. js基础知识汇总07