mysql 取不存在的数据时如何判断
1.数据表两个字段,一个是年份(date型),一个是数字(int型),当我查询不存在的年份时,显示empty set(不知道为什么不是显示为null),本来使想在存储过程判断空的话,设置为0,但现在就是在存储过程写 xx=empty set会报错,写出xx=null无结果。请问这时该如何改写判断条件。知道的能不能帮忙解答一下?
2.以下是测试代码(navicat运行)和截图(命令行运行):
BEGIN
DECLARE a,b int;
SELECT number into a FROM testTime WHERE time = 20171206;
IF (a = NULL) THEN
SET b = 1;
END IF;
SELECT b;
END
3.百度的时候给的方案是用正则表达式判断,我想问问mysql有没有什么函数判断是否为数字的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
NULL
值的判断要用is
和is not
where number is null
1楼正解,另外empty set 是因为查询结果为空,就是没有符合的记录(如果是多条记录,回想列表一样展开,当成java的set就行),而不是null
不应该直接判断返回的值是否为NULL,因为存在符合条件的记录、但字段值为NULL的情况。
改成用count计数就可以了。