`
highzhu
  • 浏览: 10558 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

case when DB2 的bug

阅读更多

开发一个功能的时候,因为涉及到对表的字段级的权限控制,要查询时数据的显示与否由操作者控制。于是想到到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 语句是标准,在这些大佬面子,狗屁不是了。什么世道!

2
0
分享到:
评论
1 楼 h416373073 2014-12-23  
多谢分享, 我也遇到了这个问题

相关推荐

Global site tag (gtag.js) - Google Analytics