hive常用函式二

2022-04-11 11:02:32 字數 4941 閱讀 5439

語法: a and b

操作型別:boolean

說明:如果a和b均為true,則為true;否則為false。如果a為null或b為null,則為null

舉例:hive> select 1 from lxw_dual where 1=1 and 2=2;

語法: a or b

操作型別:boolean

說明:如果a為true,或者b為true,或者a和b均為true,則為true;否則為false

舉例:hive> select 1 from lxw_dual where 1=2 or 2=2;

語法: not a

操作型別:boolean

說明:如果a為false,或者a為null,則為true;否則為false

舉例:hive> select 1 from lxw_dual where not 1=2;

語法: round(double a)

返回值: bigint

說明: 返回double型別的整數值部分 (遵循四捨五入)

舉例:hive> select round(3.1415926) from lxw_dual;

hive> select round(3.5) from lxw_dual;

hive> create table lxw_dual as select round(9542.158) from lxw_dual;

hive> describe lxw_dual;

_c0     bigint

語法: round(double a, int d)

返回值: double

說明: 返回指定精度d的double型別

舉例:hive> select round(3.1415926,4) from lxw_dual;

3.1416

語法: floor(double a)

返回值: bigint

說明: 返回等於或者小於該double變數的最大的整數

舉例:hive> select floor(3.1415926) from lxw_dual;

hive> select floor(25) from lxw_dual;

語法: ceil(double a)

返回值: bigint

說明: 返回等於或者大於該double變數的最小的整數

舉例:hive> select ceil(3.1415926) from lxw_dual;

hive> select ceil(46) from lxw_dual;

語法: ceiling(double a)

返回值: bigint

說明: 與ceil功能相同

舉例:hive> select ceiling(3.1415926) from lxw_dual;

hive> select ceiling(46) from lxw_dual;

語法: rand(),rand(int seed)

返回值: double

說明: 返回乙個0到1範圍內的隨機數。如果指定種子seed,則會等到乙個穩定的隨機數序列

舉例:hive> select rand() from lxw_dual;

0.5577432776034763

hive> select rand() from lxw_dual;

0.6638336467363424

hive> select rand(100) from lxw_dual;

0.7220096548596434

hive> select rand(100) from lxw_dual;

0.7220096548596434

語法: exp(double a)

返回值: double

說明: 返回自然對數e的a次方

舉例:hive> select exp(2) from lxw_dual;

7.38905609893065

自然對數函式: ln

語法: ln(double a)

返回值: double

說明: 返回a的自然對數

舉例:hive> select ln(7.38905609893065) from lxw_dual;

2.0語法: log10(double a)

返回值: double

說明: 返回以10為底的a的對數

舉例:hive> select log10(100) from lxw_dual;

2.0語法: log2(double a)

返回值: double

說明: 返回以2為底的a的對數

舉例:hive> select log2(8) from lxw_dual;

3.0語法: log(double base, double a)

返回值: double

說明: 返回以base為底的a的對數

舉例:hive> select log(4,256) from lxw_dual;

4.0語法: pow(double a, double p)

返回值: double

說明: 返回a的p次冪

舉例:hive> select pow(2,4) from lxw_dual;

16.0

語法: power(double a, double p)

返回值: double

說明: 返回a的p次冪,與pow功能相同

舉例:hive> select power(2,4) from lxw_dual;

16.0

語法: sqrt(double a)

返回值: double

說明: 返回a的平方根

舉例:hive> select sqrt(16) from lxw_dual;

4.0語法: bin(bigint a)

返回值: string

說明: 返回a的二進位制**表示

舉例:hive> select bin(7) from lxw_dual;

語法: hex(bigint a)

返回值: string

說明: 如果變數是int型別,那麼返回a的十六進製制表示;如果變數是string型別,則返回該字串的十六進製制表示

舉例:hive> select hex(17) from lxw_dual;

hive> select hex(『abc』) from lxw_dual;

語法: unhex(string a)

返回值: string

說明: 返回該十六進製制字串所**的字串

舉例:hive> select unhex(『616263』) from lxw_dual;

abchive> select unhex(『11』) from lxw_dual;

hive> select unhex(616263) from lxw_dual;

abc語法: conv(bigint num, int from_base, int to_base)

返回值: string

說明: 將數值num從from_base進製轉化到to_base進製

舉例:hive> select conv(17,10,16) from lxw_dual;

hive> select conv(17,10,2) from lxw_dual;

語法: abs(double a)   abs(int a)

返回值: double        int

說明: 返回數值a的絕對值

舉例:hive> select abs(-3.9) from lxw_dual;

3.9hive> select abs(10.9) from lxw_dual;

10.9

語法: pmod(int a, int b),pmod(double a, double b)

返回值: int double

說明: 返回正的a除以b的餘數

舉例:hive> select pmod(9,4) from lxw_dual;

hive> select pmod(-9,4) from lxw_dual;

語法: sin(double a)

返回值: double

說明: 返回a的正弦值

舉例:hive> select sin(0.8) from lxw_dual;

0.7173560908995228

語法: asin(double a)

返回值: double

說明: 返回a的反正弦值

舉例:hive> select asin(0.7173560908995228) from lxw_dual;

0.8語法: cos(double a)

返回值: double

說明: 返回a的余弦值

舉例:hive> select cos(0.9) from lxw_dual;

0.6216099682706644

語法: acos(double a)

返回值: double

說明: 返回a的反余弦值

舉例:hive> select acos(0.6216099682706644) from lxw_dual;

0.9語法: positive(int a), positive(double a)

返回值: int double

說明: 返回a

舉例:hive> select positive(-10) from lxw_dual;

-10hive> select positive(12) from lxw_dual;

語法: negative(int a), negative(double a)

返回值: int double

說明: 返回-a

舉例:hive> select negative(-5) from lxw_dual;

hive> select negative(8) from lxw_dual;

-8

Hive常用函式

if判斷 select if 1 1,yes no 返回yes 語法 case expression when condition1 then result1 when condition2 then result2 else result end 例子 case a when 1 then one...

hive常用函式

hive常用函式 1 檢視函式用法 desc function 函式名 desc function extended 函式名 2 獲取array陣列長度 size函式 select size collect list field from table select size split hello ...

Hive常用函式

常用日期函式 unix timestamp 返回當前或指定時間的時間戳 from unixtime 將時間戳轉為日期格式 current date 當前日期 current timestamp 當前的日期加時間 to date 抽取日期部分 year 獲取年 month 獲取月 day 獲取日 ho...