Sql Function 在hive, Netezza, Oracle, Redshift之间的相互转换

本文介绍了在Hive、Netezza、Oracle和Redshift等数据库中如何使用concat函数进行字符串连接,如何将日期转换为时间戳以及创建一天的结束时间,并展示了substring函数的用法。
摘要由CSDN通过智能技术生成

Concat Function

Hive

string concat(string|binary A, string|binary B…)
Note that this function can take any number of input strings.

concat(‘foo’, ‘bar’) => return ‘foobar’
concat('A',null,'B')  => reuturn NULL
Netezza
select 'A' || 'B' || 'C' => return ABC
concat('A',null,'B')  => reuturn NULL
Oracle
select 'A' || 'B' || 'C' from dual => return ABC
select 'A' || null || 'B' from dual  => reuturn AB
Redshift
select 'A' || 'B' || 'C' => return ABC
concat('A',null,'B')  => reuturn NULL

Date to Timestamp Or create the end of the day

Hive
CAST(CONCAT('2016-Feb-09',' 23:59:59.0') AS timestamp)
Netezza
TO_TIMESTAMP('2016-Feb-22' || ' 23:59:59','yyyy-Mon-dd HH24:MI:SS')
Oracle
TO_DATE('2016-Feb-22','yyyy-Mon-dd')+(86399/86400)
Redshift
CAST('2016-Feb-22' || ' 23:59:59.0' AS timestamp)

DECODE

Hive
IF(wntrk = 1 , 'Y' , 'N')
Netezza
decode(wntrk , 1 , 'Y' , 'N')
Oracle
decode(wntrk , 1 , 'Y' , 'N')
Redshift

DECODE ( expression, search, result [, search, result ]… [ ,default ] )
An optional default value that is used for cases when the search condition fails. If you do not specify a default value, the DECODE expression returns NULL.(如果没有设置default, 会返回NULL)

decode(wntrk , 1 , 'Y' , 'N')

SUBSTRING FUNCTION

Hive

select substr('caterpillar',6,4)

Netezza

select substr('caterpillar',6,4) from sometable

Oracle

select substr('caterpillar',6,4) from dual

Redshift

SUBSTRING(string, start_position, number_characters )

select substring('caterpillar',6,4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值