mysql数据库查询没有数据的时候会返回什么,是false,还是' ',还是null,还是什么啊?

mysql数据库查询没有数据的时候会返回什么,是false,还是' ',还是null,还是什么啊?,第1张

这里就涉及到

有一条记录但是记录是空记录

和没有一条记录

的问题了。

首先弄清楚no data found异常是在找不到一条记录的时候报的异常,但是在找到一条空记录的时候是不会报这个异常的。

用集合函数之所以不会报错原因是:

用集合函数的时候,当参数没有赋值时,函数会默认赋一个空值来进行计算,返回的结果也是一个空值(不是没有值)。

而to_char、substr这些函数就不会当参数没有赋值时默认赋空值,也就没有结果返回。

所以区别就是一个有记录返回,但是个空记录,而一个是没有记录返回。

其实你要看清楚空记录和没有记录的区别可以执行如下的程序看返回结果的差别就懂了。

OPEN OUTCURSOR FOR

select MAX(t.Time) from dept t where t.id>'10'

比较

OPEN OUTCURSOR FOR

select t.Time from dept t where t.id>'10'

再比较

OPEN OUTCURSOR FOR

select to_char(t.Time,'yyyy-mm-dd') from dept t where t.id>'10'

例如有个  成绩表  ( 学生, 课程, 成绩)

有如下数据

张三  英语 100

李四  英语 80

王五 英语 60

赵六 英语 0

你是不是想

SELECT  *  FROM 成绩表 WHERE  学生 = '赵六'  的时候,

得到的结果是:

赵六 英语   NULL

这样?

如果是的话

SELECT

学生, 课程,   DECODE( 成绩, 0,  NULL,  成绩)  AS  成绩

FROM

成绩表

WHERE

学生 = '赵六'

注:

DECODE( 成绩, 0,  NULL,  成绩)

相当于

CASE  WHEN   成绩 = 0  THEN  NULL

ELSE  成绩  END

也就是  如果成绩为0,那么返回 NULL,  否则就返回成绩。

甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989年正式进入中国市场。2013年,甲骨文已超越 IBM ,成为继 Microsoft 后全球第二大软件公司。

2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位。2017年6月,《2017年BrandZ最具价值全球品牌100强》公布,甲骨文公司排名第46位。

cs.SelectEName(txtEcha.Text)这个应该有一个返回值是datatable,如果是它的话,datatable.Rows.Count==0就说明没有找到数据。 dgvEmployee.Rows.Count你看有没有这个属性。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10024531.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存