假如有数据表是这样定义的:

CREATE TABLE TableA
      (
       ID int PRIMARY KEY,
       Flag char
      )

INSERT INTO TableA(ID,Flag) VALUES (1,'0')
      INSERT INTO TableA(ID,Flag) VALUES (2,'')

而我们需要显示的页面不能为空,刚开始我想到了ISNULL函数,就把查询语句写成了下面的样子:

SELECT ID,ISNULL(Flag,0) AS Flag FROM TableA

但是发现貌似ISNUll函数不起作用了,于是我就想到了还有一个CASE函数:

SELECT ID ,CASE Flag
                           WHEN null THEN 0
                           ELSE Flag 
                       END 
      FROM TableA

得到的结果是我想要的,在第二行的第二个单元格里也显示的是‘0’

那为什么 ISNULL 函数不起作用呢,后来发现我翻了个严重的错误,把空白和NULL搞乱了,我的在第二行的第二个单元格里存储的是空白字符而非NULL,这样的话问题又出来了,那为什么CASE函数起作用了呢?仔细观察后发现,“WHEN null THEN 0”中的‘0’是数值型,而‘ELSE Flag’中的‘Flag’是字符型,于是这让SQL Server做出了错误的判断,具体的SQL Server怎样的处理我也不清楚,最后写出正确的查询语句:

SELECT ID ,CASE Flag
                           WHEN  ''  THEN  '0'
                           ELSE Flag 
                       END 
      FROM TableA

转载于:https://www.cnblogs.com/jjbery/archive/2009/07/15/1524028.html

ISNULL与CASE函数相关推荐

  1. Oracle HowTo:如何使用Oracle case函数

    通过实例简要介绍case函数的用法. 1.创建测试表: DROP SEQUENCE student_sequence; CREATE SEQUENCE student_sequence START W ...

  2. Python之pandas:pandas中缺失值与空值处理的简介及常用函数(drop()、dropna()、isna()、isnull()、fillna())函数详解之详细攻略

    Python之pandas:pandas中缺失值与空值处理的简介及常用函数(drop().dropna().isna().isnull().fillna())函数详解之详细攻略 目录 pandas中缺 ...

  3. oracle函数 case,oracle的case函数和case控制结构 (摘)

    oracle的case函数和case控制结构 =========================================================== 作者: zhouwf0726(ht ...

  4. Sql Server中Case函数的使用(上篇)----转载

    Case具有两种格式.简单Case函数和Case搜索函数. 代码 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' E ...

  5. mysql case函数吗_mySQL case函数

    语法 CASE 字段名 WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 ... [ ELSE 结果N ] END 条件可以是一个数值或公式.ELSE子句不是必须的. 还有一种写 ...

  6. oracle实现mysql的if_oracle中decode函数 VS mysql中的if函数和case函数

    oracle中有decode函数,如下: select sum(decode(sex,'男',0,1)) 男生数 from school: 统计男生数目,含义为:decode()中sex字段为男时,用 ...

  7. MSSQL中使用CASE函数来灵活返回结果

    从数据库中SELECT出数据后需要根据返回的值输入不同字符时可在查询时使用CASE函数. 比如 用户表的 用户类型 在数据库中是用的GroupID字段来表示,可以这样来查询: select id,us ...

  8. 【MySQL】MySQL的IFNULL()、ISNULL()、NULLIF()函数用法说明

    文章目录 一.IFNULL() 函数 二.ISNULL() 函数 三.NULLIF() 函数 四.总结 五.相关推荐 一.IFNULL() 函数 MySQL IFNULL 函数是 MySQL 控制流函 ...

  9. SQL语句--CASE函数写法的简单举例,及应用

    SQL语句–CASE函数写法的简单举例,及应用 ---case函数的基本结构:case when...then...else... ----可以写也可以不写,按实际需求end [举个栗子_1] eg1 ...

最新文章

  1. 别再用 kill -9 了,这才是微服务上下线的正确姿势!
  2. 程序员颈椎病康复秘籍
  3. Centos7.2部署各类服务
  4. java集合租车_Java入门第二季 租车系统
  5. 百度云世界里的“七种武器”:PCS、BAE、Site App、ScreenX等
  6. USACO-Section1.4 Prime Cryptarithm (搜索)
  7. Fantom已开始网络升级,大约需2个小时
  8. 随机初始化(代码实现)
  9. 论文阅读:Semantic Human Matting
  10. Intellij Idea15开发Web网站
  11. 怎样追求心仪的女孩子
  12. ucinet计算聚类系数大于1怎么办_UCINET 6
  13. 金蝶基础资料中物料信息中的计价方法详细解释!小白不能让客户虎住,多多了解
  14. 2019年一线城市程序员工资大调查
  15. [No0000134]C#中的委托,匿名方法和Lambda表达式
  16. spring事务的传播行为的讲解(笔记 侵删)
  17. php登陆界面点登陆没有反应,ThinkPHP5实战的登录界面的登陆按钮点击之后没有任何反应怎么解决?...
  18. oracle rowid与rownum的使用
  19. 【Java容器】Java容器入门教程
  20. linux 文件格式latin1,Linux查看文件编码格式

热门文章

  1. 我发现了一个价值8500美元的 HackerOne 平台漏洞
  2. Cannot assign to read only property 'exports' of object '#Object'
  3. 【leetcode】931. Minimum Falling Path Sum
  4. AR VR或将彻底变革广告营销行业
  5. java对象--多态的好处
  6. IBM交付第25000个高端磁盘存储方案
  7. 对客户端树控件的包装
  8. 开源信息系统开发平台之OpenExpressApp框架 1.1 春节飞虎版发布
  9. sip消息类型和消息代码详解-转
  10. c语言函数游戏,C语言做游戏常用到一些函数大全 2011.doc