On this page
支持的功能:Apache Hive 3.1
下表涵盖了SQL:2016的所有必需功能以及 Hive 实现的可选功能。
Feature ID | Feature Name | Implemented | Mandatory | Comments |
E011 | 数值数据类型 | Yes | Mandatory | |
E011-01 | INTEGER 和 SMALLINT 数据类型(包括所有拼写) | Yes | Mandatory | |
E011-02 | REAL,DOUBLE PRECISON 和 FLOAT 数据类型 | Yes | Mandatory | |
E011-03 | DECIMAL 和 NUMERIC 数据类型 | Yes | Mandatory | |
E011-04 | Arithmetic operators | Yes | Mandatory | |
E011-05 | Numeric comparison | Yes | Mandatory | |
E011-06 | 数字数据类型之间的隐式转换 | Yes | Mandatory | |
E021 | 字符串类型 | Yes | Mandatory | |
E021-01 | CHARACTER 数据类型(包括所有拼写) | Partial | Mandatory | 仅支持 CHAR,不支持 CHARACTER |
E021-02 | CHARACTER VARYING 数据类型(包括所有拼写) | Partial | Mandatory | 仅支持 VARCHAR,不支持 CHARACTER VARYING 或 CHAR VARYING |
E021-03 | Character literals | Yes | Mandatory | |
E021-04 | CHARACTER_LENGTH function | Yes | Mandatory | |
E021-05 | OCTET_LENGTH function | Yes | Mandatory | |
E021-06 | SUBSTRING function | Partial | Mandatory | 标准:SUBSTRING(* val * FROM * startpos * [FOR * len *])。Hive:SUBSTRING(* val , startpos * [,* len *]) |
E021-07 | Character concatenation | Yes | Mandatory | |
E021-08 | 上,下功能 | Yes | Mandatory | |
E021-09 | TRIM function | Yes | Mandatory | |
E021-10 | 固定长度和可变长度字符串类型之间的隐式转换 | Yes | Mandatory | |
E021-11 | POSITION function | No | Mandatory | |
E021-12 | Character comparison | Yes | Mandatory | |
E031 | Identifiers | Partial | Mandatory | 未加引号的标识符使用 C 语法([A-Za-z] [A-Za-z0-9 _] *)。带引号的标识符可以包含任何字符。 |
E031-01 | Delimited identifiers | Partial | Mandatory | 用`而不是“进行报价,仅支持列,不支持表,视图等。 |
E031-02 | 小写字母标识符 | Yes | Mandatory | |
E031-03 | Trailing underscore | Yes | Mandatory | |
E051 | 基本查询规范 | Yes | Mandatory | |
E051-01 | SELECT DISTINCT | Yes | Mandatory | |
E051-02 | GROUP BY 子句 | Yes | Mandatory | |
E051-04 | GROUP BY 可以包含不在\ 中的列 | Yes | Mandatory | |
E051-05 | 选择列表项可以重命名 | Yes | Mandatory | |
E051-06 | HAVING clause | Yes | Mandatory | |
E051-07 | 合格*在选择列表中 | Yes | Mandatory | |
E051-08 | FROM 子句中的相关名称 | Yes | Mandatory | |
E051-09 | 重命名 FROM 子句中的列 | Yes | Mandatory | |
E061 | 基本谓词和搜索条件 | Yes | Mandatory | |
E061-01 | Comparison predicate | Yes | Mandatory | |
E061-02 | BETWEEN predicate | Yes | Mandatory | |
E061-03 | 具有值列表的 IN 谓词 | Yes | Mandatory | |
E061-04 | LIKE predicate | Yes | Mandatory | |
E061-05 | LIKE 谓词:ESCAPE 子句 | Yes | Mandatory | |
E061-06 | NULL predicate | Yes | Mandatory | |
E061-07 | 定量比较谓词 | No | Mandatory | |
E061-08 | EXISTS predicate | Yes | Mandatory | |
E061-09 | 比较谓词中的子查询 | No | Mandatory | |
E061-11 | IN 谓词中的子查询 | Yes | Mandatory | |
E061-12 | 量化比较谓词中的子查询 | No | Mandatory | |
E061-13 | Correlated subqueries | Yes | Mandatory | |
E061-14 | Search condition | Yes | Mandatory | |
E071 | 基本查询表达式 | Yes | Mandatory | |
E071-01 | UNION DISTINCT 表运算符 | Yes | Mandatory | |
E071-02 | UNION ALL 表运算符 | Yes | Mandatory | |
E071-03 | EXCEPT DISTINCT 表运算符 | Yes | Mandatory | |
E071-05 | 通过表运算符组合的列不必具有完全相同的数据类型。 | Yes | Mandatory | |
E071-06 | 子查询中的表运算符 | Yes | Mandatory | |
E081 | Basic Privileges | Yes | Mandatory | |
E081-01 | 表级别的 SELECT 特权 | Yes | Mandatory | |
E081-02 | DELETE privilege | Yes | Mandatory | |
E081-03 | 表级别的 INSERT 特权 | Yes | Mandatory | |
E081-04 | 表级别的 UPDATE 特权 | Yes | Mandatory | |
E081-05 | 列级别的 UPDATE 特权 | Yes | Mandatory | |
E081-06 | 表级别的“参考”特权 | No | Mandatory | |
E081-07 | 列级别的参考权限 | No | Mandatory | |
E081-08 | 附赠选项 | Yes | Mandatory | |
E081-09 | USAGE privilege | No | Mandatory | |
E081-10 | EXECUTE privilege | No | Mandatory | |
E091 | Set functions | Yes | Mandatory | |
E091-01 | AVG | Yes | Mandatory | |
E091-02 | COUNT | Yes | Mandatory | |
E091-03 | MAX | Yes | Mandatory | |
E091-04 | MIN | Yes | Mandatory | |
E091-05 | SUM | Yes | Mandatory | |
E091-06 | ALL quantifier | Yes | Mandatory | |
E091-07 | DISTINCT quantifier | Yes | Mandatory | |
E101 | 基本数据操作 | Yes | Mandatory | |
E101-01 | INSERT statement | Yes | Mandatory | |
E101-03 | 搜索的 UPDATE 语句 | Yes | Mandatory | |
E101-04 | 搜索的 DELETE 语句 | Yes | Mandatory | |
E111 | 单行 SELECT 语句 | No | Mandatory | |
E121 | 基本游标支持 | No | Mandatory | |
E121-01 | DECLARE CURSOR | No | Mandatory | |
E121-02 | ORDER BY 列不必在选择列表中 | No | Mandatory | |
E121-03 | ORDER BY 子句中的值表达式 | No | Mandatory | |
E121-04 | OPEN statement | No | Mandatory | |
E121-06 | 定位的 UPDATE 语句 | No | Mandatory | |
E121-07 | 定位的 DELETE 语句 | No | Mandatory | |
E121-08 | CLOSE statement | No | Mandatory | |
E121-10 | FETCH 语句:隐式 NEXT | No | Mandatory | |
E121-17 | 带保持光标 | No | Mandatory | |
E131 | 空值支持(用空值代替值) | Yes | Mandatory | |
E141 | 基本完整性约束 | Partial | Mandatory | 不支持 UNIQUE(VALUE)约束,不支持列列表的 UNIQUE。 |
不执行唯一约束。
不支持引用期,MATCH 或外键中的触发操作。
不支持 CHECK 约束。
| E141-01 |非空约束|是|强制||
| E141-02 | NOT NULL 列的 UNIQUE 约束|部分|强制|未实施 UNIQUE 约束|
| E141-03 | PRIMARY KEY 约束|部分|必填|未实施主键|
| E141-04 |对于引用删除操作和引用更新操作,默认为 NO ACTION 的基本 FOREIGN KEY 约束。| Partial | Mandatory |不支持引用时间段,MATCH 或触发的操作。
未强制使用外键。
|E141-06|CHECK constraints|Yes|Mandatory||
|E141-07|Column defaults|Yes|Mandatory||
| E141-08 |在 PRIMARY KEY 上推断出 NOT NULL |否|必需|无需使用 PRIMARY KEY 或 UNIQUE 声明 NOT NULL,但是不强制执行非 null。
| E141-10 |外键中的名称可以按任何 Sequences 指定|否|必须||
|E151|Transaction support|No|Mandatory||
|E151-01|COMMIT statement|No|Mandatory||
|E151-02|ROLLBACK statement|No|Mandatory||
| E152 |基本 SET TRANSACTION 语句|否|必填||
| E152-01 | SET TRANSACTION 语句:ISOLATION LEVEL SERIALIZABLE 子句|否|必填||
| E152-02 | SET TRANSACTION 语句:只读和读写子句|否|必填||
| E153 |具有子查询的可更新查询|否|必填||
| E161 |使用前导双减号的 SQLComments|是|强制||
|E171|SQLSTATE support|No|Mandatory||
| F031 |基本模式操作|是|强制||
| F031-01 | CREATE TABLE 语句创建持久基表|是|强制||
| F031-02 | CREATE VIEW 语句|是|必须||
|F031-03|GRANT statement|Yes|Mandatory||
| F031-04 | ALTER TABLE 语句:ADD COLUMN 子句|是|必需||
| F031-13 | DROP TABLE 语句:RESTRICT 子句|是|必需||
| F031-16 | DROP VIEW 语句:RESTRICT 子句|是|必需||
| F031-19 | REVOKE 语句:RESTRICT 子句|否|必须||
| F032 | CASCADE 掉落行为|是|可选||
| F034 |扩展的 REVOKE 语句|是|可选||
| F034-01 | REVOKE 语句由架构对象的所有者以外的其他人执行|是|可选||
| F034-02 | REVOKE 语句:GRANT OPTION FOR 子句|是|可选||
| F034-03 | REVOKE 语句以撤消被授予者所拥有的特权 WITH GRANT OPTION |是|可选||
| F041 |基本联接表|是|必填||
| F041-01 |内部联接(但不一定是 INNER 关键字)|是|必需||
|F041-02|INNER keyword|Yes|Mandatory||
| F041-03 |左外连接|是|必填||
| F041-04 |右外接头|是|必填||
| F041-05 |外部连接可以嵌套|是|强制||
| F041-07 |左或右外部联接中的内部表也可以用于内部联接|是|强制||
| F041-08 |支持所有比较运算符(而不仅仅是=)|是|强制||
| F051 |基本日期和时间|部分|必填|不支持 WITH/OUT TIMEZONE。
TIMESTAMP 不支持精度。
不支持 TIME 类型。
| F051-01 | DATE 数据类型(包括对 DATELiterals 的支持)|部分|必需|间隔与规范语法不匹配|
| F051-02 | TIME 数据类型(包括对 TIMELiterals 的支持),其小数秒精度至少为 0.|否|必需||
| F051-03 | TIMESTAMP 数据类型(包括对 TIMESTAMPLiterals 的支持),其小数秒精度至少为 0 和 6.| Partial | Mandatory |不支持 WITH/OUT TIMEZONE。
不支持精度。
间隔与规范语法不匹配。
| F051-04 | DATE,TIME 和 TIMESTAMP 数据类型的比较谓词|部分|必填|不支持 TIME |
| F051-05 |日期时间类型和字符串类型之间的显式 CAST |部分|必填|不支持 TIME |
|F051-06|CURRENT_DATE|Yes|Mandatory||
|F051-07|LOCALTIME|No|Mandatory||
| F051-08 | LOCALTIMESTAMP | Partial |必填| CURRENT_TIMESTAMP 受支持,不采用 precision 参数
不支持 LOCALTIMESTAMP |
| F052 |间隔和日期时间算术|部分|可选|间隔不作为列类型支持,仅作为查询中的表达式类型支持。
间隔语法与标准语法不同。
| F054 | DATE 类型优先级列表中的 TIMESTAMP |是|可选||
| F081 |视图中的联合和 exception|是|必填||
|F131|Grouped operations|Yes|Mandatory||
| F131-01 |具有分组视图的查询中支持 WHERE,GROUP BY 和 HAVING 子句|是|必填||
| F131-02 |具有分组视图的查询中支持多个表|是|强制||
| F131-03 |设置具有分组视图的查询中支持的功能|是|必需||
| F131-04 |带有 GROUP BY 和 HAVING 子句以及分组视图的子查询|是|必填||
| F131-05 |具有 GROUP BY 和 HAVING 子句以及分组视图的单行 SELECT |是|必填||
| F171 |每个用户有多个架构|是|可选||
| F200 | TRUNCATE TABLE 语句|是|可选||
| F181 |多个模块支持|否|必填||
|F201|CAST function|Yes|Mandatory||
|F221|Explicit defaults|Yes|Mandatory||
|F261|CASE expression|Yes|Mandatory||
|F261-01|Simple CASE|Yes|Mandatory||
|F261-02|Searched CASE|Yes|Mandatory||
|F261-03|NULLIF|Yes|Mandatory||
|F261-04|COALESCE|Yes|Mandatory||
| F302 | INTERSECT 表运算符|是|可选||
| F302-01 | INTERSECT DISTINCT 表运算符|是|可选||
| F302-02 | INTERSECT ALL 表运算符|是|可选||
| F304 | EXCEPT ALL 表运算符|是|可选||
| F311 |模式定义语句|是|强制||
|F311-01|CREATE SCHEMA|Yes|Mandatory||
| F311-02 |用于持久基表的创建表|部分|必需|在架构创建过程中不创建架构元素创建,必须在单独的语句中完成|
| F311-03 | CREATE VIEW | Partial | Mandatory |在架构创建过程中不创建架构元素,必须在单独的语句中完成|
| F311-04 |创建视图:带检查选项|否|必填||
| F311-05 | GRANT 语句|部分|必填|不创建架构元素作为架构创建的一部分,必须在单独的语句中完成|
|F312|MERGE statement|Yes|Optional||
| F313 |增强的 MERGE 语句|是|可选||
| F314 |带有 DELETE 分支的 MERGE 语句|是|可选||
| F321 |用户授权|部分|可选|对 CURRENT_USER 功能的支持,其余|
| F381 |扩展的模式操作|部分|可选|不支持范围。
不支持 ALTER 例程。
| F381-01 | ALTER TABLE 语句:ALTER COLUMN 子句| Partial | Optional |语法非标准。
不支持范围。
不支持身份。
不支持列生成。
| F381-02 | ALTER TABLE 语句:ADD CONSTRAINT 子句|部分|可选|与上面创建约束的限制相同|
| F381-03 | ALTER TABLE 语句:DROP CONSTRAINT 子句|部分|可选|与上面创建约束的限制相同|
| F382 |更改列数据类型|部分|可选|语法非标准|
| F383 |设置列不为空子句|部分|可选|语法非标准|
|F391|Long identifiers|Yes|Optional||
| F401 |扩展的联接表|部分|可选|不支持自然联接|
| F401-02 | FULL OUTER JOIN |是|可选||
|F401-04|CROSS JOIN|Yes|Optional||
| F471 |标量子查询值|是|必填||
| F481 |扩展的 NULL 谓词|是|必填||
| F531 |临时表|部分|可选|不支持 GLOBAL/LOCAL 范围。
不支持 DECLARE TEMPORARY TABLE。
| F555 |增强秒精度|是|可选||
| F763 | CURRENT_SCHEMA |部分|可选| CURRENT_DATABASE,等效|
|F812|Basic flagging|No|Mandatory||
| F841 | LIKE_REGEX 谓词|部分|可选|改用 RLIKE |
| F847 |非恒定正则表达式|是|可选||
| F850 |顶层\ in<query expression> |是|可选||
| F851 |<order by clause>在子查询中|是|可选||
| F852 |视图中的最高\ |是|可选||
| F855 |在\ 中嵌套\ |是|可选||
| F856 |在\ 中嵌套\ |是|可选||
| F857 |顶层\ in<query expression> |是|可选||
| F858 |<fetch first clause>在子查询中|是|可选||
| F859 |视图中的最高\ |是|可选||
| S011 |不同的数据类型|否|必填||
| S091 |基本数组支持|部分|可选|语法非标准。
没有声明最大基数的选项。
大小而不是基数。|
| S091-01 |内置数据类型的数组|部分|可选|语法非标准|
| S091-03 |数组表达式|部分|可选|支持数组元素引用和基数(尽管语法是非标准的)
不支持数组串联,修剪或最大基数|
| T021 | BINARY 和 VARBINARY 类型|部分|可选| BINARY,尽管它的作用类似于 VARBINARY,但不接受长度参数。
不支持叠加,修饰,位置或类似。
| T031 | BOOLEAN 数据类型|是|可选||
| T041 |基本 LOB 数据类型支持|部分|可选| BINARY 用作 BLOB(无大小限制)
STRING 充当 CLOB
Non-standard syntax|
| T041-01 | BLOB 数据类型|部分|可选| BINARY 用作 BLOB,非标准语法|
| T041-02 | CLOB 数据类型|部分|可选| STRING 用作 CLOB,非标准语法|
| T041-03 | LOB 数据类型的位置,长度,下限,修剪,上,下限|部分|可选|无位置
LOWER,UPPER 仅适用于 STRING |
| T041-04 | LOB 类型的并置|是|可选||
| T042 |扩展的 LOB 数据类型支持|部分|可选|支持 BINARY 和 STRING 的 Broadcast。
支持“喜欢 STRING”。
不支持所有其他高级选项。
| T051 |行类型|部分|可选|称为 STRUCT,而不是 ROW |
| T071 | BIGINT 数据类型|是|可选||
| T121 |在查询表达式中具有(不包括 RECURSIVE)|是|可选||
| T321 |基本的 SQL 调用例程|否|必需||
| T321-01 |无重载的用户定义函数|否|必填||
| T321-02 |用户定义的存储过程,没有重载|否|必填||
|T321-03|Function invocation|No|Mandatory||
|T321-04|CALL statement|No|Mandatory||
|T321-05|RETURN statement|No|Mandatory||
|T331|Basic roles|Yes|Optional||
|T351|Bracketed comments|Yes|Optional||
| T431 |扩展的分组功能|是|可选||
| T433 |多参数分组功能|是|可选||
| T441 | ABS 和 MOD 功能|是|可选||
| T501 |增强的 EXISTS 谓词|是|可选||
| T581 |正则表达式子字符串函数|是|可选||
| T591 |可能为空列的唯一约束|是|可选||
| T611 |基本 OLAP 操作|是|可选||
| T612 |高级 OLAP 操作|部分|可选||
|T613|Sampling|Yes|Optional||
|T614|NTILE function|Yes|Optional||
| T615 | LEAD 和 LAG 功能|是|可选||
| T617 | FIRST_VALUE 和 LAST_VALUE 函数|是|可选||
| T621 |增强的数字功能|是|可选||
| T622 |三角函数|部分|可选|没有 sinh,cosh,tanh |
| T623 |常规对数函数|是|可选||
| T624 |常用对数函数|是|可选||
| T631 | IN 具有一个列表元素的谓词|是|强制|