文法:A=B
操作類型:所有基本類型
描述: 如果表達式A與表達式B相等,則為TRUE;否則為FALSE
舉例:
hive>select 1 from lxw_dual where 1=1;
1
文法: A <> B
操作類型: 所有基本類型
描述: 如果表達式A為NULL,或者表達式B為NULL,傳回NULL;如果表達式A與表達式B不相等,則為TRUE;否則為FALSE
舉例:
hive> select1 from lxw_dual where 1 <> 2;
1
注意:
由于在通常得SQL寫法中不等于也可以這樣寫 != 。但在hive中,當一個string類型和int類型比較的時候會出現問題。
數字和數字類型用 可以用 !=
比較:
帶引号的數字和數字類型 可以用!= 比較:
帶引号的數字和帶引号數字類型 可以用 != 比較:
字元串和數字類型 不可以用 !=比較:
字元串和數字類型 不可以用 <> 比較:
總之,用不等于比較的時候兩者的字段類型盡量保持一緻。
文法: A < B
描述: 如果表達式A為NULL,或者表達式B為NULL,傳回NULL;如果表達式A小于表達式B,則為TRUE;否則為FALSE
hive> select1 from lxw_dual where 1 < 2;
文法: A <= B
描述: 如果表達式A為NULL,或者表達式B為NULL,傳回NULL;如果表達式A小于或者等于表達式B,則為TRUE;否則為FALSE
hive> select1 from lxw_dual where 1 <= 1;
文法: A > B
描述: 如果表達式A為NULL,或者表達式B為NULL,傳回NULL;如果表達式A大于表達式B,則為TRUE;否則為FALSE
hive> select1 from lxw_dual where 2 > 1;
文法: A >= B
描述: 如果表達式A為NULL,或者表達式B為NULL,傳回NULL;如果表達式A大于或者等于表達式B,則為TRUE;否則為FALSE
hive> select1 from lxw_dual where 1 >= 1;
注意:String的比較要注意(常用的時間比較可以先to_date之後再比較)
hive> select* from lxw_dual;
OK
201111120900:00:00 2011111209
hive> selecta,b,a<b,a>b,a=b from lxw_dual;
201111120900:00:00 2011111209 false true false
文法: A IS NULL
操作類型: 所有類型
描述: 如果表達式A的值為NULL,則為TRUE;否則為FALSE
hive> select1 from lxw_dual where null is null;
文法: A IS NOT NULL
描述: 如果表達式A的值為NULL,則為FALSE;否則為TRUE
hive> select1 from lxw_dual where 1 is not null;
文法: A LIKE B
操作類型: strings
描述: 如果字元串A或者字元串B為NULL,則傳回NULL;如果字元串A符合表達式B 的正則文法,則為TRUE;否則為FALSE。B中字元”_”表示任意單個字元,而字元”%”表示任意數量的字元。
hive> select1 from lxw_dual where 'football' like 'foot%';
hive> select1 from lxw_dual where 'football' like 'foot____';
注意:否定比較時候用NOT ALIKE B
hive> select1 from lxw_dual where NOT 'football' like 'fff%';
文法: A RLIKE B
描述: 如果字元串A或者字元串B為NULL,則傳回NULL;如果字元串A符合JAVA正規表達式B的正則文法,則為TRUE;否則為FALSE。
hive> select1 from lxw_dual where 'footbar’ rlike '^f.*r$’;
注意:判斷一個字元串是否全為數字:
hive>select 1from lxw_dual where '123456' rlike '^\\d+$';
hive> select1 from lxw_dual where '123456aa' rlike '^\\d+$';
文法: A REGEXP B
描述: 功能與RLIKE相同
hive> select1 from lxw_dual where 'footbar' REGEXP '^f.*r$';
本文轉自 yntmdr 51CTO部落格,原文連結:http://blog.51cto.com/yntmdr/1828092,如需轉載請自行聯系原作者