oracle和hive关于空字符串和null的判断

本文通过示例对比了Oracle与Hive数据库中对于NULL和空字符串('')的处理方式。在Oracle中,默认将NULL视为特殊值,而Hive能够区分NULL与空字符串,并分别进行处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先看oracle的输出结果

with q1 as(
select
'' test1,
null test2
from dual)
select 
case when test1='' then '空字符串' 
     when test1 is null then '空'
     else '啥也不是' end test1,
case when test2='' then '空字符串' 
     when test2 is null then '空'
     else '啥也不是' end test1
from q1

在这里插入图片描述
再看hive的结果

with q1 as(
select
'' test1,
null test2
)
select 
case when test1='' then '空字符串' 
     when test1 is null then '空'
     else '啥也不是' end test1,
case when test2='' then '空字符串' 
     when test2 is null then '空'
     else '啥也不是' end test1
from q1

在这里插入图片描述
得出,hive会对null和’'做出判断,而oracle默认为null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

¤睿

皆是缘

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值