动态执行一个sql语句,要求是某一列值为空,即返回一个值。

我用一个sql语句查询一条记录,当a字段为空,就返回‘a字段为空’,如果b字段为空,就返回‘b字段为空’如select。。。。((ifa为空值1),if(b为空值2))a... 我用一个sql语句查询一条记录,当a字段为空,就返回‘a字段为空’,如果b字段为空,就返回‘b字段为空’

如 select 。。。。((if a 为空 值1),if(b 为空 值2)) as zt from 表
展开
 我来答
andyx_5
2012-08-25 · TA获得超过607个赞
知道小有建树答主
回答量:297
采纳率:100%
帮助的人:167万
展开全部
--oracle如下:
select nvl('a字段为空',a),nvl('b字段为空',b) from 表名;

--db2如下:
select coalesce('a字段为空',a),coalesce('b字段为空',b) from 表名;
更多追问追答
追问
我要把结果查询到一个字段里。可以么?
追答
当然可以啦!
只要在字段后面加一个别名就可以了!比如对应的字段名分别为custid,custname
--oracle如下:
select nvl('a字段为空',a) as custid,nvl('b字段为空',b) as custname from 表名;

--db2如下:
select coalesce('a字段为空',a) as custname,coalesce('b字段为空',b) as custname from 表名;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-08-25
展开全部
select case when a is null then 'a字段为空' else a end,
case when b is null then 'b字段为空' else b end from table
更多追问追答
追问
我要把结果查询到一个字段里。可以么
追答
简单一点 外面再加个嵌套 select x=a+b from ( select ...) t
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式