Hiveql - RIGHT()LEFT()函数

问题描述:

Hiveql中是否有一个函数等价于TSQL的Right()或Left()函数? 例如,RIGHT(col1,10)可从col1中获取前10个字符。Hiveql - RIGHT()LEFT()函数

谢谢

没有左边或右边的功能,但你可以用SUBSTR像

left (column, nchar) = substr(column, 0, nchar) 

right (column, nchar) = substr (column, -nchar) 

正确执行相同的功能(列,NCHAR)= SUBSTR(列,(长(列)-nchar +1),nchar)

+0

这与10个月前给出的答案几乎相同。 – Alejandro

+1

几乎相同,除了这一个是正确的,另一个是不正确的。 –

+0

@BrianMorearty然后接受的答案应该编辑 –

这适用于我正确的功能:substr(col,-nchar)= right(col,nchar)。

hive> select substr('adbcefghij',-4); 
ghij 
Time taken: 40.839 seconds, Fetched: 1 row(s) 

希望这会有所帮助。

+0

为赢!我已经提出了更新WRONG'接受'的答案来使用这个公式,它比ALEKSEY NIKITOV的(也是正确的)更简单。谢谢anonyXmous! – wardw123