怎样把一条SQL语句查询出的结果集中的空值替换成0

[复制链接]
查看11 | 回复6 | 2007-9-27 17:16:37 | 显示全部楼层 |阅读模式
可以用Decode函数,如:表名为:test字段名为:D1SQL语句如下:select decode(D1,null,'0',D1) from test;实现的目的:当D1为null时返回0,else 返回D1本身的值。关于Decode的用法,到baidu上一搜就有。
回复

使用道具 举报

千问 | 2007-9-27 17:16:37 | 显示全部楼层
如果是Oracle的话可以用nvl()比如, 你原本是要SELECT A, B, C FROM.....就可以写成 SELECT NVL(A, 0), NVL(B, 0), NVL(C, 0) FROM...当然A,B,C必须都是Number型的
回复

使用道具 举报

千问 | 2007-9-27 17:16:37 | 显示全部楼层
在Sql2000中假设有这么一张表create table test( id int, name varchar(32), sex char)那么查询可以用select * from test where id is null or name is null or sex is null有些东西是不能为空的,所以LZ有很多字段的话可以挑选出那些可能为空的,其余在建立表时就应当设置为非空拉如果在Oracle中有个 nvl(exp1,exp2)函数,可以用来判断是否为空,如果exp1为空的话,则显示exp2中的字符select nvl(id,'空'),nvl(name,'空'),nvl(sex,'空') from name望能看到更好的办法.
回复

使用道具 举报

千问 | 2007-9-27 17:16:37 | 显示全部楼层
如果你是SQL数据库,有一个CASE语句.when....then你可以去看看具体用法.很简单.和IF结构很象.select nvl(xxx,0) from tablexxx为字符型时加上单引号
回复

使用道具 举报

千问 | 2007-9-27 17:16:37 | 显示全部楼层
ISNULL(字段,0)
回复

使用道具 举报

千问 | 2007-9-27 17:16:37 | 显示全部楼层
select case ziduan when is null then '' end
回复

使用道具 举报

千问 | 2007-9-27 17:16:37 | 显示全部楼层
select decode(D1,null,'0',D1) from test;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行