📜  HiveQL-运算符(1)

📅  最后修改于: 2023-12-03 14:41:43.945000             🧑  作者: Mango

HiveQL-运算符

在HiveQL中,常用的运算符可以分为以下几类:

算术运算符

算术运算符主要用于数值型数据的计算。

| 运算符 | 描述 | | ------ | ---- | | + | 加法运算 | | - | 减法运算 | | * | 乘法运算 | | / | 除法运算 |

SELECT 2 + 3;
-- 输出:5

SELECT 6 - 2;
-- 输出:4

SELECT 2 * 3;
-- 输出:6

SELECT 6 / 2;
-- 输出:3
比较运算符

比较运算符主要用于比较表达式的值。

| 运算符 | 描述 | | ------ | ---- | | = | 判断相等 | | <>或!= | 判断不相等 | | < | 小于 | | > | 大于 | | <= | 小于等于 | | >= | 大于等于 |

SELECT * FROM student WHERE score > 90;
-- 显示成绩大于90的学生信息

SELECT * FROM student WHERE name = '张三';
-- 显示名字为张三的学生信息

SELECT * FROM student WHERE age <> 18;
-- 显示年龄不等于18的学生信息
逻辑运算符

逻辑运算符主要用于布尔类型数据的运算。

| 运算符 | 描述 | | ------ | ---- | | NOT | 取反 | | AND | 与 | | OR | 或 |

SELECT * FROM student WHERE NOT (name = '张三' AND score > 90);
-- 显示名字不是张三且成绩不大于90的学生信息

SELECT * FROM student WHERE name = '张三' OR name = '李四';
-- 显示名字是张三或李四的学生信息
字符串运算符

字符串运算符主要用于字符串类型数据的操作。

| 运算符 | 描述 | | ------ | ---- | | || | 字符串连接 |

SELECT name || '-' || age AS student_info FROM student;
-- 将学生的姓名和年龄拼接在一起作为一个字符串,并起个别名为student_info
正则表达式运算符

正则表达式运算符主要用于模式匹配。

| 运算符 | 描述 | | ------ | ---- | | RLIKE | 匹配正则表达式 | | NOT RLIKE | 不匹配正则表达式 |

SELECT * FROM student WHERE name RLIKE '^张';
-- 显示名字以张开头的学生信息

SELECT * FROM student WHERE name NOT RLIKE '李$';
-- 显示名字不是以李结尾的学生信息

以上就是HiveQL中常用的运算符,对于运算符的使用注意事项:

  1. 每个运算符的两边都必须是相同的数据类型,否则会转换数据类型;
  2. HiveQL中的字符串使用单引号括起来,如'name';
  3. 表达式中不能使用人民币符号、百分号等特殊字符;
  4. 某些特殊的字符需要用反斜杠(\)进行转义,如单引号本身需要转义,写作';