一个关于SQL语句的问题。

现在有一个 user表 字段有 a,b,c;
其中 c 字段是一个int型的 但是 表里面的数据 中 c 字段有的为空。

现在又这么一个需求。
当c字段为null 的时候,要求用sql语句查出来的结果是 c 字段不会出现空值,当c 是null 的时候 把c 重新赋值成-1;

dao

3个回答

oracle 中可以用 NVL(name,-1) 尝试
sql中可以用isnull()函数
或者用decode(name,‘null’,-1,name)来赋值

null和空值查询出来的效果是一样 。
看来分别查出来,再unit一下吧
select a,b,? from user where c is null
unit all
select a,b,decode(c,'',-1,c) where c is not null

mssql: select isnull(c,-1) from user;
mysql: select ifnull(score,-1) from user;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问