您好,登錄后才能下訂單哦!
1. 加法操作: +
語法: A + B
操作類型:所有數(shù)值類型
說明:返回A與B相加的結(jié)果。結(jié)果的數(shù)值類型等于A的類型和B的類型的最小父類型(詳見數(shù)據(jù)類型的繼承關(guān)系)。比如,int + int 一般結(jié)果為int類型,而int + double 一般結(jié)果為double類型
舉例:
hive> select1 + 9 from lxw_dual;
10
hive> createtable lxw_dual as select 1 + 1.2 from lxw_dual;
hive>describe lxw_dual;
_c0 double
2. 減法操作: -
語法: A – B
操作類型:所有數(shù)值類型
說明:返回A與B相減的結(jié)果。結(jié)果的數(shù)值類型等于A的類型和B的類型的最小父類型(詳見數(shù)據(jù)類型的繼承關(guān)系)。比如,int – int 一般結(jié)果為int類型,而int – double 一般結(jié)果為double類型
舉例:
hive> select10 – 5 from lxw_dual;
5
hive> createtable lxw_dual as select 5.6 – 4 from lxw_dual;
hive>describe lxw_dual;
_c0 double
3. 乘法操作: *
語法: A * B
操作類型:所有數(shù)值類型
說明:返回A與B相乘的結(jié)果。結(jié)果的數(shù)值類型等于A的類型和B的類型的最小父類型(詳見數(shù)據(jù)類型的繼承關(guān)系)。注意,如果A乘以B的結(jié)果超過默認(rèn)結(jié)果類型的數(shù)值范圍,則需要通過cast將結(jié)果轉(zhuǎn)換成范圍更大的數(shù)值類型
舉例:
hive> select40 * 5 from lxw_dual;
200
4. 除法操作: /
語法: A / B
操作類型:所有數(shù)值類型
說明:返回A除以B的結(jié)果。結(jié)果的數(shù)值類型為double
舉例:
hive> select40 / 5 from lxw_dual;
8.0
注意:hive中最高精度的數(shù)據(jù)類型是double,只精確到小數(shù)點(diǎn)后16位,在做除法運(yùn)算的時(shí)候要特別注意
hive>select ceil(28.0/6.999999999999999999999) from lxw_duallimit 1;
結(jié)果為4
hive>select ceil(28.0/6.99999999999999) from lxw_dual limit1;
結(jié)果為5
5. 取余操作: %
語法: A % B
操作類型:所有數(shù)值類型
說明:返回A除以B的余數(shù)。結(jié)果的數(shù)值類型等于A的類型和B的類型的最小父類型(詳見數(shù)據(jù)類型的繼承關(guān)系)。
舉例:
hive> select 41 % 5 from lxw_dual;
1
hive> select 8.4 % 4 from lxw_dual;
0.40000000000000036
注意:精度在hive中是個(gè)很大的問題,類似這樣的操作最好通過round指定精度
hive> select round(8.4 % 4 , 2) from lxw_dual;
0.4
6. 位與操作: &
語法: A & B
操作類型:所有數(shù)值類型
說明:返回A和B按位進(jìn)行與操作的結(jié)果。結(jié)果的數(shù)值類型等于A的類型和B的類型的最小父類型(詳見數(shù)據(jù)類型的繼承關(guān)系)。
舉例:
hive> select 4 & 8 from lxw_dual;
0
hive> select 6 & 4 from lxw_dual;
4
7. 位或操作: |
語法: A | B
操作類型:所有數(shù)值類型
說明:返回A和B按位進(jìn)行或操作的結(jié)果。結(jié)果的數(shù)值類型等于A的類型和B的類型的最小父類型(詳見數(shù)據(jù)類型的繼承關(guān)系)。
舉例:
hive> select 4 | 8 from lxw_dual;
12
hive> select 6 | 8 from lxw_dual;
14
8. 位異或操作: ^
語法: A ^ B
操作類型:所有數(shù)值類型
說明:返回A和B按位進(jìn)行異或操作的結(jié)果。結(jié)果的數(shù)值類型等于A的類型和B的類型的最小父類型(詳見數(shù)據(jù)類型的繼承關(guān)系)。
舉例:
hive> select 4 ^ 8 from lxw_dual;
12
hive> select 6 ^ 4 from lxw_dual;
2
9.位取反操作: ~
語法: ~A
操作類型:所有數(shù)值類型
說明:返回A按位取反操作的結(jié)果。結(jié)果的數(shù)值類型等于A的類型。
舉例:
hive> select ~6 from lxw_dual;
-7
hive> select ~4 from lxw_dual;
-5
更多精彩內(nèi)容請(qǐng)關(guān)注:http://bbs.superwu.cn
關(guān)注超人學(xué)院微信二維碼:
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。