六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 69|回复: 0

case when DB2 的bug

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-1-13 18:54:22 | 显示全部楼层 |阅读模式
开发一个功能的时候,因为涉及到对表的字段级的权限控制,要查询时数据的显示与否由操作者控制。于是想到到case when
在数据库SQL标准里有case when 的语法大家都是支持的,开发的时候数据库是MSsqlserver (这个万金油数据库),使用了case 字段1 when null then '' when 1 then '' else 字段2 end  ,这个语法在sqlserver 和oracle 验证都没有问题,但是DB2不给面子,就说这个语法老子不认得。DB2他只认为 字段 is null是合法的。于是乎我老人家 把这条Sql 改为它老人家认的 case when 字段1 is null then '' when 字段1 = 1 then '' end . 这样一来我们的oracle又不让了。我靠,这时候我强烈喜欢sqlserver 了。db2 这明明就是一个bug 查询出来为空进行空判断是完全合乎逻辑了呀。他老人家抱着is null不放。这个case when 语句是标准,在这些大佬面子,狗屁不是了。什么世道!
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表