查询记录中没有记录的就返回空,否则返回原值

with ta as (

select '1' a from dual

union select '2' from dual  

 union select '3' from dual

)

select decode(count(*),0,'无','3') a from ta where a=3

 

第二种能够满足所有的信息记录

with a as (
     select '1' a,'b' b from dual
     union
     select '11' a,'bb' b from dual
     union
     select '111' a,'b' b from dual
)
--select COALESCE(NULL,2,3) from dual
select
r.c ,l.*
from
(select '1' c from dual) r,
--,(select a,b from a where a='11') l
(select '1' e,t.* from a t where t.a like '1111%' ) l
where r.c = l.e(+)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CASE WHEN语句可以用于条件判断并返回相应的值。在这个例子,引用描述了一个需求,根据age字段的值进行判断:如果age大于23,则返回'大于23';如果age小于23,则返回'小于23';其他情况则返回原值。同样,对于sex字段的值进行判断:如果为1,则返回'男';如果为2,则返回'女';其他情况返回异常。 引用说明了CASE WHEN语句的执行过程。首先,将CASE后面表达式的值与各个WHEN子句的表达式的值进行比较。如果两者相等,则返回THEN后的表达式的值,然后跳出CASE语句。如果没有匹配的WHEN子句,则返回ELSE子句的表达式的值。如果没有ELSE子句,则返回NULL。 所以,当需求是返回原值时,可以使用CASE WHEN语句的ELSE子句,将原值作为ELSE子句的表达式。这样,当条件不满足任何WHEN子句时,就会返回原值。 例如,对于一个名为user的表,包含字段user_name、birthday、age和password,可以使用以下SQL语句来返回原值SELECT user_name, age, CASE WHEN age > 23 THEN '大于23' WHEN age < 23 THEN '小于23' ELSE age END as age_status FROM user 这样,如果age大于23,则返回'大于23';如果age小于23,则返回'小于23';其他情况则返回原值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [sql case when使用记录](https://blog.csdn.net/leiming01/article/details/84134659)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [case when then语句用法](https://download.csdn.net/download/lxlstone/10356541)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值