hive 常用函数整理 1.关系运算


1. 等值比较: =

语法:A=B

操作类型:所有基本类型

描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSE

举例:


hive> select 1 from student where 1=1;

1

2. 不等值比较: <>

语法: A <> B

操作类型: 所有基本类型

描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A与表达式B不相等,则为TRUE;否则为FALSE

举例:

hive> select 1 from student  where 1 <> 2;

1

hive> select 1 from student where 1 <> null;

无结果

hive> select 1 from student where null <> 2;

无结果

3. 小于比较: <

语法: A < B

操作类型: 所有基本类型

描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于表达式B,则为TRUE;否则为FALSE

举例:

hive> select 1 from student where 1 < 2;

1

hive> select 1 from student where 1 <;

无结果

hive> select 1 from student where 2 < 1;

无结果

4. 小于等于比较: <=

语法: A <= B

操作类型: 所有基本类型

描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于或者等于表达式B,则为TRUE;否则为FALSE

举例:

hive> select 1 from student  where 1 <= 1;

1

5. 大于比较: >

语法: A > B

操作类型: 所有基本类型

描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于表达式B,则为TRUE;否则为FALSE

举例:

hive> select 1 from student  where 2 > 1;

1

6. 大于等于比较: >=

语法: A >= B

操作类型: 所有基本类型

描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于或者等于表达式B,则为TRUE;否则为FALSE

举例:

hive> select 1 from student   where 1 >= 1;

1

–注意:String的比较要注意(常用的时间比较可以先to_date之后再比较)

hive> select * from student  ;

OK

2011111209 00:00:00     2011111209

hive> select a,b,a<b,a>b,a=b from student  ;

2011111209 00:00:00     2011111209      false   true    false

7. 空值判断: IS NULL

语法: A IS NULL

操作类型: 所有类型

描述: 如果表达式A的值为NULL,则为TRUE;否则为FALSE

举例:

hive> select 1 from student   where null is null;

1

8. 非空判断: IS NOT NULL

语法: A IS NOT NULL

操作类型: 所有类型

描述: 如果表达式A的值为NULL,则为FALSE;否则为TRUE

举例:

hive> select 1 from student   where 1 is not null;

1

9. LIKE比较: LIKE

语法: A LIKE B

操作类型: strings

描述: 如果字符串A或者字符串B为NULL,则返回NULL;

如果字符串A符合表达式B 的正则语法,则为TRUE;否则为FALSE。

B中字符”_”表示任意单个字符,而字符”%”表示任意数量的字符。

举例:

hive> select 1 from student where ‘football’ like ‘foot%;

1

hive> select 1 from student where ‘football’ like ‘foot____’;

1

–注意:否定比较时候用NOT A LIKE B

hive> select 1 from student where NOT ‘football’ likefff%;

1

10. JAVA的LIKE操作: RLIKE

语法: A RLIKE B

操作类型: strings

描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合JAVA正则表达式B的正则语法,则为TRUE;否则为FALSE。

举例:

hive> select 1 from student where ‘footbar’ rlike^f.*r$’;
1

–注意:判断一个字符串是否全为数字:

hive> select 1 from student where123456rlike^\\d+$’;

1

hive> select 1 from student where123456aarlike^\\d+$’;

11. REGEXP操作: REGEXP

语法: A REGEXP B

操作类型: strings

描述: 功能与RLIKE相同

举例:

hive> select 1 from student where ‘footbar’ REGEXP^f.*r$’;
1

文章作者: hnbian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hnbian !
评论
 上一篇
hive 常用函数整理 2.数学运算 hive 常用函数整理 2.数学运算
1. 加法操作: +语法: A + B 操作类型:所有数值类型 说明:返回A与B相加的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。 比如,int + int 一般结果为int类型,而int + doub
2017-07-24
下一篇 
使用Java通过JDBC连接 Phoenix 使用Java通过JDBC连接 Phoenix
import org.junit.Test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; im
2017-07-20
  目录