如何用SQL语句查询后,返回不存在的值,并用一个字符代替

来源:百度知道 编辑:UC知道 时间:2024/06/28 20:19:26
输入员工姓名,输出员工姓名及他的当月工资数。
如果输入的员工姓名根本不存在时,系统返回的当月工资数为“0”。
如何用SQL语句编写?
谢谢帮助!
如何显示出不存在的人名,格式如下:
员工姓名 工资数(-1)

假如张三这个人不存在,在sqlserver里就这么执行
select case when 工资 is null then 0 end from 表 where 员工姓名='张三'
上边这个有问题,刚才改了一下,上边这个问题是,如果不存在这个员工,那么选定行就是0,所以还是得不出结果
试验下边这个
select sum(a.工资) from
(select 0 as 工资 union all
select 工资 from 表 where 员工姓名='张三') a;

在ACCESS中:
select iif((当月工资数 is null),'0',当月工资数) from 表 where 姓名='你输入的人名'

在sql server中:
select isnull(当月工资数,'0') from 表 where 姓名='你输入的人名'

ORACLE好久没用了,忘记NVL函数怎么用了,反正都是把SELECT出来的当月工资数加一个判断是空就用一个值替换的函数

你得先说你用的什么数据库?SQL 有JET SQL,T—SQL,还有其他的SQL,你说的不存在的人名,是工资表里有人名但是员工表里是不存在的是吗?如果是这样,把你员工表字段描述下,问题描述要尽可能详细啊,要不怎么回答?

sql=select * from 表 where 姓名=姓名
rs.open sql,conn,1,1
if not rs.eof then
response.write 工资
else
response.write ("0")
end if

select 姓名,isnull(工资,0) AS 工资 from 数据表

oracle中可以使用NVL函数