mysql 的一个疑问

jiongerher 2009-03-30 07:26:03
对一个空表进行查询,返回的结果不是null,那么请问它还能是什么


mysql> create table t(id int);
Query OK, 0 rows affected (0.13 sec)

mysql> select id from t;
Empty set (0.00 sec)

mysql> select ifnull(id, 0) from t;
Empty set (0.02 sec)


新建一个空表,对空表的id字段进行查询。我本来认为t里没有字段,应该返回null,但结果却是什么都不显示。
于是我又用ifnull()函数做了试验,结果不会变为0,说明确实不是null. 那么请问这个返回的结果是什么东西呢?

如果我想实现这么一种操作,即,让select id from t的返回结果是0,应该怎么做呢?
...全文
61 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mumu_java 2009-03-30
  • 打赏
  • 举报
回复
mysql中用decode吗,呵呵。
Study_Work_2009 2009-03-30
  • 打赏
  • 举报
回复
select isnull(id,0) as id from test;
gcl151449388 2009-03-30
  • 打赏
  • 举报
回复
期待啊 这个问题太悬了
zhj92lxs 2009-03-30
  • 打赏
  • 举报
回复
select a,ifnull(b,now()) from test
下载说明 2009-03-30 07:59:21
qqq 2009-03-18

select a,b from test
下载说明
qqq 2009-03-18
你的用法是正确的

jiongerher 2009-03-30
  • 打赏
  • 举报
回复
我的意思是,如果表中该字段不存在值,在select该字段时,另该字段的值为0,应该怎么操作呢?
jiongerher 2009-03-30
  • 打赏
  • 举报
回复
我的意思是,如果表中该字段不存在值,在select该字段时,另该字段的值为0,应该怎么操作呢?
qgmzhfj 2009-03-30
  • 打赏
  • 举报
回复
select count(id) from table
rgmlkthh 2009-03-30
  • 打赏
  • 举报
回复
在其他数据库里,比如sql,db2都是这样的
select count(*) from test
没玩过mysql,不知道对不...

81,076

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧