MySQL IFNULL判空问题解决方案
作者:贾树丙 发布时间:2024-01-21 13:23:10
标签:MySQL,IFNULL
问题:mybatis返回的null类型数据消失,导致前端展示出错
思路:如果查询出的结果是空值,应当转换成空字符串。当然在前端也能进行判断,但要求后台实现这个功能。
解决方案:
使用如下方法查询:
SELECT IFNULL(sex,'') AS sex FROM user --如果查询到这个sex为null值,那么就赋值成空字符串
不过,如果查询语句本身为null,那么返回前端的还是null,这个就要在代码里判断了。
比如:
SELECT IFNULL(sex,'') AS sex FROM user WHERE id=100
这条语句本身的返回结果是null,它也就不会执行IFNULL函数了,最后的返回结果当然也是null
所以我的方法是在代码中增加判断:
if(ansList == null || ansList.size() == 0){...}
MYSQL IFNULL(expr1,expr2)函数
如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。
mysql> select IFNULL(1,0);
-> 1
mysql> select IFNULL(0,10);
-> 0
mysql> select IFNULL(1/0,10);
-> 10
mysql> select IFNULL(1/0,yes);
-> yes
IF(expr1,expr2,expr3)函数
如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否则它返回expr3。IF()返回一个数字或字符串值,取决于它被使用的上下文。
mysql> select IF(1>2,2,3);
-> 3
mysql> select IF(1<2,yes,no);
-> yes
mysql> select IF(strcmp(test,test1),yes,no);
-> no
expr1作为整数值被计算,它意味着如果你正在测试浮点或字符串值,你应该使用一个比较操作来做。
mysql> select IF(0.1,1,0);
-> 0
mysql> select IF(0.1<>0,1,0);
-> 1
来源:https://www.cnblogs.com/acm-bingzi/p/mysqlIfnull.html


猜你喜欢
- numpy的delete是可以删除数组的整行和整列的,下面简单介绍和举例说明delete函数用法:numpy.delete(arr, obj
- 在修改后的文字后面加上: self.textEdit_6.moveCursor(QTextCursor.End)例子:self.textEd
- 惭愧啊,今天写了个查找子串的Python程序被BS了…如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码:#
- 前言现在最流行的本地存储莫过于 cookie 的应用,但浏览器对 cookie 有很多限制,最大的限制在于其对cookie 总大小
- 1、root函数格式root()功能描述返回一个路径串变量应用代码'sample string = c:\intels\jingca
- 导语哈喽!我是木木子,又到了今日更新时刻!我们来看看写什么呢?小编有个好兄弟最近在追妹子,跟妹子打得火热!就差临门一脚了,这一jio我帮忙补
- 在最近的项目中,需要做到一个时间,就是用户离开页面的时候,我需要缓存页面其中一部分的内容,但是我不需要用户刷新的时候也缓存,我只希望在我用户
- 要求,输入一串数字,并以列表的形式打印出来。number = input('请输入一串数字:') print(number)
- 条形图是用宽度相同的条形的高度或长短来表示数据多少的图形。用来绘制离散的数据,能够一眼看出各个数据的大小,比较数据之间的差异。绘制一个简单的
- 一.介绍多表查询就是同时查询两个或两个以上的表,因为有的时候用户在查看数据的时候,需要显示的数据来自多张表.多表查询有以下分类:交叉连接查询
- ORACLE的这类错误在ORALCE的文档中有详细说明,但原因及措施说明不详细,本文当着重说明如何解决这类错误。1、ORA-12571、OR
- 这篇文章主要介绍了python3 pathlib库Path类方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 引言最常见的闭包 (Closure) 范式大家都很熟悉了:(function() {// ...})(); 很
- 电脑安装git客户端、注册github账号并登陆到本地项目文件夹右键选择git bash here输入个人信息(代码提交者)git conf
- 本文实例为大家分享了python+pygame实现坦克大战的具体代码,供大家参考,具体内容如下一、首先导入pygame库二、源码分享#cod
- 1.创建虚拟环境首先创建一个新文件夹在PyCharm终端中切换到这个文件夹,输入 python -m venv 环境名 创建虚拟环境&nbs
- format函数实现字符串格式化的功能基本语法为:通过 : 和 {} 来控制字符串的操作一、对字符串进行操作1. 不设置指定位置,按默认顺序
- 问题setInterval 是间隔调用,与之类似的还有 setTimeout。这两个 API 通常用来做 ajax 短连接轮询数据。比如有一
- 使用下以两种方法时必须把字段设为”主键(PRIMARY KEY”或”唯一约束(UNIQUE)”。1:使用REPLACE INTO (此种方法
- 有时会统计某个目录下有哪些文件,每个文件的sha256及文件大小等相关信息,这里用python3写了个脚本用来实现此功能,此脚本可跨平台,同