mysql使用case when 处理int型字段时显示出如00000000001这样的数据
摘要:场景:mysql数据库,在一张表中有一个int型字段,这个字段的数据有为null的,查询的时候想将这些为null的数据显示为0
场景:mysql数据库,在一张表中有一个int型字段,这个字段的数据有为null的,查询的时候想将这些为null的数据显示为0
刚开始我是这么写的sql:
select
id,
case when
read_num is null then '0' else read_num end as read_num
from XXX
查询后,那些为null的数据的确显示为0了,但是那些不为null的的都成了00000000001这样的数据,郁闷之极啊。
仔细看了下sql,发现问题了,就是那个then '0',我加了'',硬生生的把它转换成了字符型,因为这个字段是int型的,所以直接写成then 0 就可以了,再加上'',就是画蛇添足了。
双11云服务器热购推广(腾讯云):2核+4G内存+3M带宽=688元/3年(仅限新用户)
除非注明,文章均为草根java原创,转载请注明本文地址:
https://www.caogenjava.com/detail/3.html
上一篇:程序员问问题的艺术
相关链接
热门排行榜
-
1微信开发errcode:45015,errmsg:response out of time limit之完美解决
-
2archive is not a ZIP archive之解决
-
3火狐每次启动都弹出迅雷提示下载openh264之解决
-
4Eclipse中提示Could not find the main class之解决
-
5XML document structures must start and end within the same entity报错解决
-
6以小米6为例图说安卓手机如何安装谷歌四件套
-
7在微信中调用外部浏览器实现文件下载之解决
-
8U盘安装CentOS 7终极方案,简单有效
-
9POI合并单元格时CellRangeAddress类提示过时之解决
-
10java web项目代码不报错但是项目左上角有个红叉之解决