2017-01-03 7 views
2

Есть ли функция в Hiveql, эквивалентная форме формы() или Left() fuction TSQL? Например, RIGHT(col1,10), чтобы получить первые 10 символов из col1.Hiveql - RIGHT() LEFT() Функция

спасибо

ответ

6

Там нет правой или левой функции, но вы можете реализовать то же самое с подстрока как

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

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

правой (колонка, NCHAR) = зиЬзЬг (столбец (длина (колонка) -nchar +1), nchar)

+0

Это почти то же, что и ответ, полученный 10 месяцев назад. – Alejandro

+1

Почти то же самое, за исключением того, что это правильно, а другое неверно. –

+0

@BrianMorearty Затем принятый ответ должен быть отредактирован –

1

Это работает для меня для правой функции: 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