文档章节

非空查找函数: COALESCE 应用

tuoleisi77
 tuoleisi77
发布于 2017/06/20 16:35
字数 174
阅读 20
收藏 0

语法: COALESCE(T v1, T v2,…)

返回值: T

说明: 返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL

示例:

hive> select COALESCE(null,'100','50′) from lxw_dual;

100

实际应用

代码

insert overwrite table user_profile_db.t_population_before_apply_city partition(datepartition='${day_01}')
select 
a.cid,
COALESCE(b.city_name,a.population_apply_city) as city_name
from
(select *
from
user_profile_db.t_population_apply_city 
where datepartition='${day_01}'
)a
left join
(select cid,
city_name
from
(select *,
ROW_NUMBER() over(partition by cid 
                             order by create_date asc) as rank
from
(select a.rank_apply,
b.*
from
(
select *
from
user_profile_db.t_population_apply_city
where datepartition='${day_01}'
) a
inner join
(
select *
from
user_profile_db.t_population_cnt_before_after_apply_tmp 
where datepartition='${day_01}'
) b
on
a.cid=b.cid
) a
) b
where rank=rank_apply-1 
and datediff(cnt_apply_time,create_date)<30
and datediff(cnt_apply_time,create_date)>=0
)b
on 
a.cid=b.cid
;

如果b.city_name is null 则取a.population_apply_city的值 可以理解为相当于case when模式

© 著作权归作者所有

tuoleisi77
粉丝 4
博文 28
码字总数 43810
作品 0
深圳
程序员
私信 提问
hive中条件判断函数if/COALESCE/CASE/

•If函数: if •非空查找函数: COALESCE •条件判断函数:CASE • If 函数 • 非空查找函数 : COALESCE COALESCE使用时和AS搭配使用,对于合并数据列非常有用。 条件判断函数: CASE code例子...

小甜瓜Melon
2017/08/16
0
0
hive函数详解----条件函数详解

条件函数 1. If函数: if 语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull) 返回值: T 说明: 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull 举例......

超人学院
2015/05/25
255
0
Hive sql优化用到的concat与coalesce函数

用于处理多字段,我们需要考虑可能为空的特殊情况 concat CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL coalesce SELECT COALESCE(NULL...

analanxingde
04/21
0
0
使用mybatis操作mysql数据库SUM方法返回NULL解决

使用SQL语句用函数SUM叠加的时候,默认查询没有值的情况下返回的是NULL,而实际可能我们要用的是返回0 解决: SELECT SUM(total) FROM test_table 改成: SELECT COALESCE(SUM(total),0...

EDIAGD
2013/10/22
9.5K
1
Sqlserver常用函数例子说明

在操作SQLServer的时候, 很多时候记不住具体的函数如何使用, 查找联机帮助还是嫌麻烦, 且有很多时候例子也不好懂, 下面对每个常用的函数用用例子说明,一目了然,你自己在数据库中执行一下,结果...

walb呀
2017/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 年迈渔夫遭黑帮袭抢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享Elvis Presley的单曲《White Christmas》: 《White Christmas》- Elvis Presley 手机党少年们想听歌,请使劲...

小小编辑
今天
1K
20
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
16
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部