经济文库 - 千万精品文档,你想要的都能搜到,下载即用。

KingbaseES_SQL语言快速参考手册.pdf

激萌^PInK215 页 543.384 KB 访问 692.97下载文档
KingbaseES_SQL语言快速参考手册.pdfKingbaseES_SQL语言快速参考手册.pdfKingbaseES_SQL语言快速参考手册.pdfKingbaseES_SQL语言快速参考手册.pdfKingbaseES_SQL语言快速参考手册.pdfKingbaseES_SQL语言快速参考手册.pdf
当前文档共215页 2.97
下载后继续阅读

KingbaseES_SQL语言快速参考手册.pdf

KingbaseES SQL 语言快速参考手册 金仓数据库管理系统 KingbaseES 文档版本:V9(V009R001C001B0024) 发布日期:2023 年 10 月 12 日 北京人大金仓信息技术股份有限公司 目 目 录 录 第 1 章 前言 1 1.1 适用读者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 相关文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 术语 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.4 手册约定 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 第 2 章 SQL 语句 3 2.1 ABORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 ALTER AGGREGATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 ALTER COLLATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.4 ALTER CONVERSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.5 ALTER DATABASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.6 ALTER DATABASE LINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.7 ALTER DEFAULT PRIVILEGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.8 ALTER DOMAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.9 ALTER EVENT TRIGGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.10 ALTER EXTENSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.11 ALTER FOREIGN DATA WRAPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.12 ALTER FOREIGN TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.13 ALTER FUNCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.14 ALTER GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.15 ALTER INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.16 ALTER LANGUAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.17 ALTER LARGE OBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.18 ALTER MATERIALIZED VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.19 ALTER OPERATOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.20 ALTER OPERATOR CLASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.21 ALTER OPERATOR FAMILY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.22 ALTER PACKAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.23 ALTER POLICY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.24 ALTER PROCEDURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 I 目 录 2.25 ALTER PUBLICATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.26 ALTER RESOURCE GROUPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.27 ALTER ROLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.28 ALTER ROUTINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.29 ALTER RULE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.30 ALTER SCHEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.31 ALTER SEQUENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.32 ALTER SERVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.33 ALTER STATISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.34 ALTER SUBSCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.35 ALTER SYNONYM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.36 ALTER SYSTEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.37 ALTER TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.38 ALTER TABLESPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.39 ALTER TEXT SEARCH DICTIONARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.40 ALTER TEXT SEARCH PARSER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.41 ALTER TEXT SEARCH TEMPLATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.42 ALTER TRIGGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.43 ALTER TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.44 ALTER USER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.45 ALTER USER MAPPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.46 ALTER VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.47 ANALYZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.48 BEGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.49 CALL/EXEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.50 CHECKPOINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.51 CLUSTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.52 COMMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.53 COMMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.54 COMMIT PREPARED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.55 COPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.56 CREATE ACCESS METHOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.57 CREATE AGGREGATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.58 CREATE CAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.59 CREATE COLLATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.60 CREATE CONTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.61 CREATE CONVERSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.62 CREATE DATABASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.63 CREATE DATABASE LINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.64 CREATE DIRECTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.65 CREATE DOMAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.66 CREATE EVENT TRIGGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 II 目 录 2.67 CREATE EXTENSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.68 CREATE FOREIGN DATA WRAPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.69 CREATE FOREIGN TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.70 CREATE FUNCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.71 CREATE GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.72 CREATE INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.73 CREATE LANGUAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.74 CREATE MATERIALIZED VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.75 CREATE OPERATOR CLASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.76 CREATE OPERATOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.77 CREATE OPERATOR FAMILY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.78 CREATE PACKAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.79 CREATE PACKAGE BODY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.80 CREATE POLICY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.81 CREATE PROCEDURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.82 CREATE PUBLICATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.83 CREATE RESOURCE GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.84 CREATE ROLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.85 CREATE RULE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.86 CREATE SCHEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.87 CREATE SEQUENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.88 CREATE SERVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.89 CREATE STATISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.90 CREATE SUBSCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.91 CREATE SYNONYM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.92 CREATE TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.93 CREATE TABLE AS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.94 CREATE TABLESPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.95 CREATE TEXT SEARCH CONFIGURATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.96 CREATE TEXT SEARCH DICTIONARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.97 CREATE TEXT SEARCH PARSER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.98 CREATE TEXT SEARCH TEMPLATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.99 CREATE TRANSFORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.100 CREATE TRIGGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.101 CREATE TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.102 CREATE TYPE BODY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.103 CREATE USER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.104 CREATE USER MAPPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.105 CREATE VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.106 DEALLOCATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.107 DECLARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.108 DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 III 目 录 2.109 DELETE RESOURCE GROUPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.110 DISCARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.111 DO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.112 DROP ACCESS METHOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.113 DROP AGGREGATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.114 DROP CAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.115 DROP COLLATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.116 DROP CONTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.117 DROP CONVERSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.118 DROP DATABASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.119 DROP DATABASE LINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.120 DROP DIRECTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.121 DROP DOMAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.122 DROP EVENT TRIGGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.123 DROP EXTENSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.124 DROP FOREIGN DATA WRAPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.125 DROP FOREIGN TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.126 DROP FUNCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.127 DROP GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.128 DROP INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.129 DROP LANGUAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.130 DROP MATERIALIZED VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.131 DROP OPERATOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.132 DROP OPERATOR CLASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.133 DROP OPERATOR FAMILY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.134 DROP OWNED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.135 DROP PACKAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.136 DROP PACKAGE BODY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.137 DROP POLICY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.138 DROP PROCEDURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.139 DROP PUBLICATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.140 DROP ROLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.141 DROP ROUTINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.142 DROP RULE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.143 DROP SCHEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.144 DROP SEQUENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.145 DROP SERVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.146 DROP STATISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.147 DROP SUBSCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.148 DROP SYNONYM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.149 DROP TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.150 DROP TABLESPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 IV 目 录 2.151 DROP TRANSFORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.152 DROP TEXT SEARCH CONFIGURATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.153 DROP TEXT SEARCH DICTIONARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.154 DROP TEXT SEARCH PARSER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.155 DROP TEXT SEARCH TEMPLATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.156 DROP TRIGGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.157 DROP TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.158 DROP TYPE BODY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.159 DROP USER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.160 DROP USER MAPPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.161 DROP VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.162 END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.163 EXECUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.164 EXPLAIN PLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.165 FETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.166 FLASHBACK TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.167 GRANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.168 INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.169 INSERT ALL FIRST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.170 INSERT ON DUPLICATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 2.171 LISTEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 2.172 LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 2.173 LOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 第 3 章 函数 71 3.1 ABBREV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.2 ABS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.3 ACOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.4 ACOSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.5 ADDDATE(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.6 ADDTIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.7 ADD_MONTHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.8 AGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.9 APPENDCHILDXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.10 ARRAY_AGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.11 ARRAY_APPEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.12 ARRAY_CAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.13 ARRAY_DIMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.14 ARRAY_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.15 ARRAY_LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.16 ARRAY_LOWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.17 ARRAY_NDIMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 V 目 录 3.18 ARRAY_POSITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.19 ARRAY_POSITIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.20 ARRAY_PREPEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.21 ARRAY_REMOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.22 ARRAY_REPLACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.23 ARRAY_TO_JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.24 ARRAY_TO_STRING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.25 ARRAY_TO_TSVECTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.26 ARRAY_UPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.27 ASIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.28 ASINH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.29 ATAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.30 ATAN2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.31 ATANH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.32 AVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.33 BFILENAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.34 BIT_AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.35 BIT_LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.36 BIT_OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.37 BITAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.38 BITTONUMERIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.39 BLOB_EXPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.40 BLOB_IMPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.41 BOOL_AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.42 BOOL_OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.43 BOUND_BOX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.44 BOX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.45 BTRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.46 CARDINALITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.47 CAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.48 CBRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.49 CEIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.50 CEILING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.51 CENTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.52 CHAR_LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.53 CHARACTER_LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.54 CHARINDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.55 CHARTOROWID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.56 CHR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.57 CIRCLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.58 CLOB_EXPORT‘ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.59 CLOB_IMPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 VI 目 录 3.60 CLOCK_TIMESTAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.61 COALESCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.62 COL_DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.63 CONCAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.64 CONCAT_WS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.65 CONNECTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.66 CONTAINS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.67 CONVERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.68 CONVERT(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.69 CONVERT_FROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.70 CONVERT_TO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.71 CONVERT_TZ(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.72 CORR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.73 COS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.74 COSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.75 COT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.76 COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.77 COVAR_POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.78 COVAR_SAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.79 CUME_DIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.80 CURDATE(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.81 CURRENT_DATABASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.82 CURRENT_DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.83 CURRENT_QUERY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.84 CURRENT_SCHEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.85 CURRENT_SCHEMAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.86 CURRENT_SETTING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.87 CURRENT_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.88 CURRENT_TIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.89 CURRENT_TIMESTAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.90 CURRENT_TIMESTAMP(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.91 CURRVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.92 CURSOR_TO_XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.93 CURTIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.94 DATEDIFF(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.95 DAY(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.96 DAYNAME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.97 DAYOFMONTH(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.98 DAYOFWEEK(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.99 DAYOFYEAR(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.100 DATE_PART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.101 DATE_SUB(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 VII 目 录 3.102 DATE_TRUNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.103 DAYS_BETWEEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.104 DECODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.105 DECODING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.106 DEGREES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.107 DELETEXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.108 DENSE_RANK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.109 DIAMETER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.110 DIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.111 EMPTY_BLOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.112 EMPTY_CLOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.113 EMPTY_NCLOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.114 ENCODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.115 ENUM_FIRST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.116 ENUM_LAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.117 ENUM_RANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.118 EVERY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.119 EXISTSNODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.120 EXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.121 EXPORT_SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.122 EXTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.123 EXTRACT(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.124 EXTRACTVALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.125 FAMILY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.126 FIND_IN_SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.127 FIRST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.128 FIRST_VALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.129 FLOOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.130 FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.131 FORMAT_PICO_TIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.132 FORMAT_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.133 FROM_BASE64(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.134 FROM_DAYS(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.135 FROM_UNIXTIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.136 GENERATE_SERIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.137 GENERATE_SUBSCRIPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.138 GET_BIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.139 GET_BYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.140 GET_CURRENT_TS_CONFIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.141 GET_DISK_INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.142 GET_FORMAT(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.143 GET_LICENSE_VALIDDAYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 VIII 目 录 3.144 GETUSERNAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.145 GREATEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.146 GROUP_CONCAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.147 GROUPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.148 GROUPING_ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.149 HAS_ANY_COLUMN_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.150 HAS_COLUMN_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.151 HAS_DATABASE_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.152 HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.153 HAS_FUNCTION_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.154 HAS_LANGUAGE_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.155 HAS_SCHEMA_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.156 HAS_SEQUENCE_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.157 HAS_SERVER_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.158 HAS_TABLE_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.159 HAS_TABLESPACE_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.160 HAS_TYPE_PRIVILEGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.161 HEIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.162 HEXTORAW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.163 HOUR(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.164 HOST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.165 HOSTMASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.166 IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.167 IFNULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.168 INET_CLIENT_ADDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.169 INET_CLIENT_PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.170 INET_MERGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.171 INET_SAME_FAMILY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.172 INET_SERVER_ADDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.173 INET_SERVER_PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.174 INITCAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.175 INSERTCHILDXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.176 INSERTCHILDXMLAFTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.177 INSERTCHILDXMLBEFORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.178 INSERTXMLAFTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.179 INSERTXMLBEFORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.180 INSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.181 INSTRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.182 ISEMPTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.183 ISFINITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.184 ISNULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.185 ISNULL(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 IX 目 录 3.186 ISOPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.187 JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.188 JSON_AGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.189 JSON_ARRAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 3.189.1 用法 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 3.189.2 用法 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 3.189.3 用法 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 3.190 JSON_ARRAY_ELEMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 3.191 JSON_ARRAY_ELEMENTS_TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 3.192 JSON_ARRAY_LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.193 JSON_ARRAYAGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.194 JSON_BUILD_ARRAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.195 JSON_BUILD_OBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.196 JSON_EACH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.197 JSON_EACH_TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.198 JSON_EQUAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.199 JSON_EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.200 JSON_EXTRACT_PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.201 JSON_EXTRACT_PATH_TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.202 JSON_OBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.202.1 用法 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.202.2 用法 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.202.3 用法 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.203 JSON_OBJECT_AGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.204 JSON_OBJECT_KEYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.205 JSON_OBJECTAGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.205.1 用法 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.205.2 用法 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.206 JSON_POPULATE_RECORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.207 JSON_QUERY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.208 JSON_SCALAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.209 JSON_SERIALIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.210 JSON_STRIP_NULLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.211 JSON_TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.212 JSON_TO_RECORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.213 JSON_TO_RECORDSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.214 JSON_TYPEOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.215 JSON_VALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.216 JSONB_AGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.217 JSONB_ARRAY_ELEMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.218 JSONB_ARRAY_ELEMENTS_TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.219 JSONB_ARRAY_LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 X 目 录 3.220 JSONB_BUILD_ARRAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.221 JSONB_BUILD_OBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.222 JSONB_EACH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.223 JSONB_EACH_TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.224 JSONB_EXTRACT_PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.225 JSONB_EXTRACT_PATH_TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.226 JSONB_INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.227 JSONB_OBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.227.1 用法 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.227.2 用法 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.228 JSONB_OBJECT_AGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.229 JSONB_OBJECT_KEYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.230 JSONB_PATH_EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.231 JSONB_PATH_MATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.232 JSONB_PATH_QUERY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.233 JSONB_PATH_QUERY_ARRAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.234 JSONB_PATH_QUERY_FIRST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.235 JSONB_POPULATE_RECORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.236 JSONB_POPULATE_RECORDSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.237 JSONB_PRETTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.238 JSONB_SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.239 JSONB_STRIP_NULLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.240 JSONB_TO_RECORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.241 JSONB_TO_RECORDSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.242 JSONB_TYPEOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.243 JUSTIFY_DAYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.244 JUSTIFY_HOURS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 3.245 JUSTIFY_INTERVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 3.246 LAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 3.247 LAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 3.248 LAST_DAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 3.249 LAST_VALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 3.250 LASTVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.251 LCASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.252 LEAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.253 LEAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.254 LEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.255 LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.256 LENGTHB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.257 LISTAGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.258 LN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.259 LNNVL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 XI 目 录 3.260 LOCALTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.261 LOCALTIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.262 LOCALTIMESTAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.263 LOCALTIMESTAMP(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.264 LOCATE(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.265 LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.266 LOG10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.267 LOWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.268 LOWER_INC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.269 LOWER_INF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 3.270 LPAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 3.271 LSEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 3.272 LTRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 3.273 MAKEDATE(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 3.274 MAKETIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 3.275 MAKE_DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 3.276 MAKE_INTERVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 3.277 MAKE_SET(bits,oid) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 3.278 MAKE_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 3.279 MAKE_TIMESTAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 3.280 MAKE_TIMESTAMPTZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 3.281 MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 3.282 MD5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 3.283 MICROSECOND(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 3.284 MID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 3.285 MIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 3.286 MINUTE(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 3.287 MOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.288 MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.289 MONTH(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.290 MONTH(Oracle 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.291 MONTHNAME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.292 MONTHS_BETWEEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.293 NANVL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.294 NEW_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.295 NEXT_DAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.296 NEXTVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.297 NLSSORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.298 NOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.299 NTH_VALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.300 NTILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 3.301 NULLIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 XII 目 录 3.302 NUMTODSINTERVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 3.303 NUMTOYMINTERVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 3.304 NVL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 3.305 NVL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 3.306 OCTET_LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 3.307 ORA_HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 3.308 OVERLAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 3.309 PERCENT_RANK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 3.310 PERCENTILE_CONT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 3.311 PERCENTILE_DISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 3.312 PERIOD_ADD(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 3.313 PERIOD_DIFF(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 3.314 PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 3.315 POSITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 3.316 POWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 3.317 QUARTER(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 3.318 QUERY_TO_XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 3.319 QUOTE_IDENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 3.320 QUOTE_LITERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 3.321 QUOTE_NULLABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 3.322 RADIANS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 3.323 RADIUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 3.324 RANGE_MERGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 3.325 RANK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 3.326 RAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 3.327 RANDOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 3.328 RATIO_TO_REPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 3.329 RAWTOHEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 3.330 RAWTONHEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 3.331 REGEXP_COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 3.332 REGEXP_INSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 3.333 REGEXP_LIKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 3.334 REGEXP_MATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 3.335 REGEXP_MATCHES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 3.336 REGEXP_REPLACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 3.337 REGEXP_REPLACE(Oracle 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 3.338 REGEXP_SPLIT_TO_ARRAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 3.339 REGEXP_SPLIT_TO_TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 3.340 REMAINDER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 3.341 REPEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 3.342 REPLACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 3.343 REVERSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 XIII 目 录 3.344 RIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 3.345 ROUND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 3.346 ROW_COUNT(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.347 ROW_NUMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.348 ROW_TO_JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.349 RPAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.350 ROWIDTOCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.351 RTRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.352 SCALE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.353 SCORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.354 SECOND(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.355 SEC_TO_TIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.356 SESSION_ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.357 SESSION_USER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.358 SESSIONTIMEZONE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.359 SETSEED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 3.360 SETVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 3.361 SETWEIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 3.362 SHA224 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 3.363 SHA256 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 3.364 SHA384 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 3.365 SHA512 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 3.366 SIGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 3.367 SIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 3.368 SINH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 3.369 SPLIT_PART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 3.370 SQRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 3.371 STATEMENT_TIMESTAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 3.372 STDDEV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 3.373 STDDEV(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 3.374 STDDEV_POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 3.375 STDDEV_SAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 3.376 STR_TO_DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 3.377 STR_VALID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 3.378 STRING_AGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 3.379 STRING_TO_ARRAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 3.380 STRIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 3.381 STRPOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 3.382 SUBSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 3.383 SUBSTRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 3.384 SUBSTRING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 3.385 SUBSTRING_INDEX(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 XIV 目 录 3.386 SUBTIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 3.387 SUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 3.388 SYS_BACKEND_PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 3.389 SYS_CANCEL_BACKEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 3.390 SYS_COLUMN_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 3.391 SYS_CONTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 3.392 SYS_DATABASE_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 3.393 SYS_EVENT_TRIGGER_DDL_COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 3.394 SYS_EVENT_TRIGGER_DROPPED_OBJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 3.395 SYS_EVENT_TRIGGER_TABLE_REWRITE_OID . . . . . . . . . . . . . . . . . . . . . . . . . . 137 3.396 SYS_EVENT_TRIGGER_TABLE_REWRITE_REASON . . . . . . . . . . . . . . . . . . . . . . . 137 3.397 SYS_STAT_FILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 3.398 SYS_READ_BINARY_FILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 3.399 SYS_READ_FILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 3.400 SYS_TERMINATE_BACKEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 3.401 SYS_TOTAL_RELATION_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 3.402 SYS_FUNCTION_IS_VISIBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 3.403 SYS_GET_CONSTRAINTDEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 3.404 SYS_GET_EXPR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.405 SYS_GET_FUNCTION_ARGUMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.406 SYS_GET_FUNCTION_IDENTITY_ARGUMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.407 SYS_GET_FUNCTION_RESULT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.408 SYS_GET_FUNCTIONDEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.409 SYS_GET_INDEXDEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.410 SYS_GET_KEYWORDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.411 SYS_GET_OBJECT_ADDRESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.412 SYS_GET_RULEDEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.413 SYS_GET_SERIAL_SEQUENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.414 SYS_GET_STATISTICSOBJDEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.415 SYS_GET_TRIGGERDEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.416 SYS_GET_USERBYID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 3.417 SYS_GET_VIEWDEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 3.418 SYS_GUID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 3.419 SYS_HAS_ROLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 3.420 SYS_IDENTIFY_OBJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 3.421 SYS_IDENTIFY_OBJECT_AS_ADDRESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 3.422 SYS_INDEXES_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 3.423 SYS_KINGBASE_START_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 3.424 SYS_LS_DIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 3.425 SYS_LS_LOGDIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 3.426 SYS_LS_TMPDIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 3.427 SYS_LS_WALDIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 XV 目 录 3.428 SYS_RELATION_FILENODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 3.429 SYS_RELATION_FILEPATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 3.430 SYS_RELATION_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 3.431 SYS_RELOAD_CONF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 3.432 SYS_SIZE_BYTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 3.433 SYS_SIZE_PRETTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 3.434 SYS_SLEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 3.435 SYS_SLEEP_FOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 3.436 SYS_SLEEP_UNTIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 3.437 SYS_TABLE_IS_VISIBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 3.438 SYS_TABLE_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 3.439 SYS_TABLESPACE_DATABASES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 3.440 SYS_TABLESPACE_LOCATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 3.441 SYS_TABLESPACE_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 3.442 SYSDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 3.443 TABLE_TO_XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 3.444 TAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 3.445 TANH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 3.446 TIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 3.447 TIMEDIFF(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 3.448 TIMESTAMP(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 3.449 TIMESTAMPADD(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 3.450 TIMESTAMPDIFF(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 3.451 TIME_FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 3.452 TIME_TO_SEC(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 3.453 TIMEOFDAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 3.454 TIMESUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 3.455 TO_ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 3.456 TO_BASE64(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 3.457 TO_BINARY_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 3.458 TO_BLOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 3.459 TO_CHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 3.459.1 TO_CHAR(bfile|blob) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 3.459.2 TO_CHAR(character) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 3.459.3 TO_CHAR(datetime) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 3.459.4 TO_CHAR(number) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 3.460 TO_DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 3.461 TO_DATETIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 3.462 TO_DAYS(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 3.463 TO_DSINTERVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 3.464 TO_HEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 3.465 TO_JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 XVI 目 录 3.466 TO_JSONB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 3.467 TO_MULTI_BYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 3.468 TO_NUMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 3.469 TO_SECONDS(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 3.470 TO_SINGLE_BYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 3.471 TO_TIMESTAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 3.472 TO_TIMESTAMP_TZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 3.473 TO_YMINTERVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 3.474 TRANSACTION_TIMESTAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.475 TRANSLATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.476 TRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.477 TRUNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.477.1 TRUNC(date) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.477.2 TRUNC(number) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.477.3 TRUNC(text) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.478 UCASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 3.479 UNICODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 3.480 UNIX_TIMESTAMP(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 3.481 UNNEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 3.482 UPDATEXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 3.483 UPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 3.484 USER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 3.485 USERENV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 3.486 UTC_DATE(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 3.487 UTC_TIME(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 3.488 UTC_TIMESTAMP(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 3.489 VALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 3.490 VAR_POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 3.491 VAR_SAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 3.492 VARIANCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 3.493 VARIANCE(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 3.494 VERSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 3.495 WEEK(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 3.496 WEEKDAY(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 3.497 WEEKOFYEAR(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 3.498 WM_CONCAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 3.499 XML_IS_WELL_FORMED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 3.500 XML_IS_WELL_FORMED_DOCUMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 3.501 XML_IS_WELL_FORMED_CONTENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 3.502 XMLAGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 3.503 XMLCOMMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 3.504 XMLCONCAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 XVII 目 录 3.505 XMLELEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 3.506 XMLEXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 3.507 XMLFOREST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 3.508 XMLPARSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 3.509 XMLPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 3.510 XMLROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 3.511 XMLSEQUENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 3.512 XMLSERIALIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 3.513 XMLTABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 3.514 XPATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 3.515 XPATH_EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 3.516 YEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 3.517 YEARWEEK(MySQL 模式) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 第 4 章 表达式 159 4.1 简单表达式 ‘ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 4.2 复合表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 4.3 CASE 表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 4.4 列表达式 4.5 日期时间表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.6 函数表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.7 占位符表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.8 标量子查询表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.9 类型构造表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.10 表达式列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.11 伪列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.11.1 ROWNUM 伪列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 第 5 章 条件表达式 162 5.1 SQL 条件简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 5.2 比较条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 5.3 浮点条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 5.4 逻辑条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 5.5 模式匹配条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 5.6 空条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 5.7 SQL/JSON 条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 5.8 复合条件 5.9 BETWEEN 条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 5.10 EXISTS 条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 5.11 IN 条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 第 6 章 常见 DDL 子句 6.1 约束子句 165 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 XVIII 目 录 6.2 LOG 子句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 6.3 存储子句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 第 7 章 KingbaseES SQL 数据类型 7.1 168 KingbaseES 内置数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 7.1.1 7.1.2 字符数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 7.1.1.1 character[(n [char | byte])] 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 7.1.1.2 character varying[(n [char | byte])] 数据类型 . . . . . . . . . . . . . . . . . . . . . . . 168 7.1.1.3 TEXT 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 7.1.1.4 LONGTEXT 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.1.1.5 MEDIUMTEXT 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.1.1.6 TINYTEXT 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 数值类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.1.2.1 7.1.2.2 7.1.2.3 7.1.2.4 7.1.2.5 整数类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.1.2.1.1 TINYINT 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.1.2.1.2 SMALLINT 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.1.2.1.3 MEDIUMINT/MIDDLEINT/INT3 . . . . . . . . . . . . . . . . . . . . . . . 170 7.1.2.1.4 INTEGER 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.1.2.1.5 BIGINT 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 精确数值数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.1.2.2.1 NUMERIC 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.1.2.2.2 DECIMAL 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.1.2.2.3 NUMBER 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 浮点类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.1.2.3.1 REAL 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.1.2.3.2 DOUBLE PRECISION 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.1.2.3.3 FLOAT 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 浮点数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 7.1.2.4.1 BINARY_FLOAT 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 7.1.2.4.2 BINARY_DOUBLE 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 序数类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 7.1.2.5.1 SMALLSERIAL 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 7.1.2.5.2 SERIAL 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 7.1.2.5.3 BIGSERIAL 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 7.1.3 货币类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 7.1.4 日期/时间类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 7.1.4.1 DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 7.1.4.2 TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 7.1.4.3 7.1.4.2.1 time [ (p) ] with time zone 类型 . . . . . . . . . . . . . . . . . . . . . . . . . 172 7.1.4.2.2 time [ (p) ] without time zone 类型 . . . . . . . . . . . . . . . . . . . . . . . 172 7.1.4.2.3 time 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 TIMESTAMP 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 XIX 目 7.1.5 录 7.1.4.3.1 timestamp[ (p)] [ without time zone ] 类型 . . . . . . . . . . . . . . . . . . . 173 7.1.4.3.2 timestamp[ (p)] with time zone 类型 . . . . . . . . . . . . . . . . . . . . . . . 173 7.1.4.3.3 timestamp[ (p)] with local time zone 类型 . . . . . . . . . . . . . . . . . . . . 173 7.1.4.4 DATETIME 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 7.1.4.5 INTERVAL 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 7.1.4.6 YEAR 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 大对象数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.1.5.1 BLOB 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.1.5.2 CLOB 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.1.5.3 NCLOB 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.1.5.4 BYTEA 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.1.5.5 RAW 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.1.5.6 LONG RAW 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.1.6 布尔类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.1.7 位串类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.1.8 7.1.9 7.1.7.1 BIT 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.1.7.2 BIT VAYRING 类型 7.1.7.3 BINARY 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.1.7.4 VARBINARY 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 几何类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.1.8.1 点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.1.8.2 线 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 7.1.8.3 线段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 7.1.8.4 方框 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 7.1.8.5 路径 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 7.1.8.6 多边形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 7.1.8.7 圆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 网络地址类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 7.1.9.1 inet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 7.1.9.2 cidr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 7.1.9.3 inet-vs.-cidr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 7.1.9.4 macaddr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.1.9.5 macaddr8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.1.10 文本搜索类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.1.10.1 tsvector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.1.10.2 tsquery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.1.11 UUID 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.1.12 XML 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.1.13 JSON 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.1.14 范围类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.2 域类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.2.1 对象标识符类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 XX 目 7.3 7.4 录 7.2.2 sys_lsn 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.2.3 伪类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 用户自定义类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.3.1 :ref: 枚举类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 7.3.2 SET 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 7.3.3 集合类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 7.3.3.1 嵌套表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 7.3.3.2 可变数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 7.3.4 组合类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 7.3.5 对象类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 7.3.6 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Rowid 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 7.4.1 ROWID 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 7.4.2 UROWID 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 第 8 章 Ksql 命令 182 版权声明 191 服务周期承诺 192 XXI 第 1 章 前言 1 第 章 前言 本文档简要描述了用于管理 KingbaseES 的结构化查询语言(SQL),用于 SQL 语法的快速查询。 前言部分包含以下主题: • 适用读者 • 相关文档 • 术语 • 手册约定 1.1 适用读者 KingbaseES SQL 语言快速参考手册面向所有使用 KingbaseES 的用户,主要是数据库管理员和应用程序开发人 员。 在开始阅读本文档之前,您需要了解以下内容: 1.2 相关文档 有关文档的更多信息,可访问 KingbaseES 在线文档库 1.3 术语 无 1 第 1 章 前言 1.4 手册约定 本文档中可能出现“注意、提示、警告、另请参阅”等标志,它们所代表的含义如下: 注意: 用于突出重要/关键信息、最佳实践等。 提示: 用于突出小窍门、捷径等。 警告: 用于传递设备或环境安全警示信息,若不避免,可能会导致设备损坏、数据丢失、设备性能降低或其 它不可预知的结果。 另请参阅: 用于突出参考、参阅等。 以下程序代码书写约定适用于本文档: 符号 说明 [] 表示包含一个或多个可选项。不需要输入中括号本身。 {} 表示包含两个以上(含两个)的候选,必须在其中选取一个。不需要输入花括号本身。 | 分割中括号或者花括号中的两个或两个以上选项。不需要输入“|”本身。 ... 表示其之前的元素可以被重复。 斜体 表示占位符或者需要提供特定值的变量。 大写 表示系统提供的元素,以便与用户定义的元素相互区分。除出现在方括号中的元素外,应当按 照顺序逐字输入。当然,部分元素在系统中是大小写不敏感的,因此用户可以根据系统说明以 小写形式输入。 小写 表示由用户提供的元素。 2 第2章 SQL 语句 2 第 章 SQL 语句 本章描述各种类型的 SQL 语句及其语法,具体语法信息可参阅 SQL 参考手册。 2.1 ABORT ABORT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ] 2.2 ALTER AGGREGATE ALTER AGGREGATE name ( aggregate_signature ) RENAME TO new_name ALTER AGGREGATE name ( aggregate_signature ) OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER AGGREGATE name ( aggregate_signature ) SET SCHEMA new_schema 其中 aggregate_signature 是: * | [ argmode ] [ argname ] argtype [ , ... ] | [ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ] 2.3 ALTER COLLATION ALTER COLLATION name REFRESH VERSION ALTER COLLATION name RENAME TO new_name 3 第2章 SQL 语句 ALTER COLLATION name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER COLLATION name SET SCHEMA new_schema 2.4 ALTER CONVERSION ALTER CONVERSION name RENAME TO new_name ALTER CONVERSION name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER CONVERSION name SET SCHEMA new_schema 2.5 ALTER DATABASE ALTER DATABASE name [ [ WITH ] option [ ... ] ] 这里 option 可以是: ALLOW_CONNECTIONS allowconn CONNECTION LIMIT connlimit IS_TEMPLATE istemplate ALTER DATABASE name RENAME TO new_name ALTER DATABASE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER DATABASE name SET TABLESPACE new_tablespace ALTER DATABASE name SET configuration_parameter { TO | = } { value | DEFAULT } ALTER DATABASE name SET configuration_parameter FROM CURRENT ALTER DATABASE name RESET configuration_parameter ALTER DATABASE name RESET ALL 2.6 ALTER DATABASE LINK ALTER [PUBLIC] DATABASE LINK dblink_name OWNER TO new_owner; ALTER [PUBLIC] DATABASE LINK dblink_name RENAME TO new_name; 4 第2章 SQL 语句 2.7 ALTER DEFAULT PRIVILEGES ALTER DEFAULT PRIVILEGES [ FOR { ROLE | USER } target_role [, ...] ] [ IN SCHEMA schema_name [, ...] ] abbreviated_grant_or_revoke 其中 abbreviated_grant_or_revoke 是下列之一: GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER } [, ...] | ALL [ PRIVILEGES ] } ON TABLES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] GRANT { { USAGE | SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] } ON SEQUENCES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTIONS | ROUTINES } TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON TYPES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | CREATE | ALL [ PRIVILEGES ] } ON SCHEMAS TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER } [, ...] | ALL [ PRIVILEGES ] } ON TABLES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { { USAGE | SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] } ON SEQUENCES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT ] 5 第2章 SQL 语句 REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTIONS | ROUTINES } FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON TYPES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT ] REVOKE [ GRANT OPTION FOR ] { USAGE | CREATE | ALL [ PRIVILEGES ] } ON SCHEMAS FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT ] 2.8 ALTER DOMAIN ALTER DOMAIN name { SET DEFAULT expression | DROP DEFAULT } ALTER DOMAIN name { SET | DROP } NOT NULL ALTER DOMAIN name ADD domain_constraint [ NOT VALID ] ALTER DOMAIN name DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ] ALTER DOMAIN name RENAME CONSTRAINT constraint_name TO new_constraint_name ALTER DOMAIN name VALIDATE CONSTRAINT constraint_name ALTER DOMAIN name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER DOMAIN name RENAME TO new_name ALTER DOMAIN name SET SCHEMA new_schema 6 第2章 SQL 语句 2.9 ALTER EVENT TRIGGER ALTER EVENT TRIGGER name DISABLE ALTER EVENT TRIGGER name ENABLE [ REPLICA | ALWAYS ] ALTER EVENT TRIGGER name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER EVENT TRIGGER name RENAME TO new_name 2.10 ALTER EXTENSION ALTER EXTENSION name UPDATE [ TO new_version ] ALTER EXTENSION name SET SCHEMA new_schema ALTER EXTENSION name ADD member_object ALTER EXTENSION name DROP member_object 其中 member_object 是: ACCESS METHOD object_name | AGGREGATE aggregate_name ( aggregate_signature ) | CAST (source_type AS target_type) | COLLATION object_name | CONVERSION object_name | DOMAIN object_name | EVENT TRIGGER object_name | FOREIGN DATA WRAPPER object_name | FOREIGN TABLE object_name | FUNCTION function_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] | MATERIALIZED VIEW object_name | OPERATOR operator_name (left_type, right_type) | OPERATOR CLASS object_name USING index_method | OPERATOR FAMILY object_name USING index_method | [ PROCEDURAL ] LANGUAGE object_name | PROCEDURE procedure_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] | ROUTINE routine_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] | SCHEMA object_name | SEQUENCE object_name | SERVER object_name | TABLE object_name | TEXT SEARCH CONFIGURATION object_name | TEXT SEARCH DICTIONARY object_name | TEXT SEARCH PARSER object_name | TEXT SEARCH TEMPLATE object_name | TRANSFORM FOR type_name LANGUAGE lang_name | 7 第2章 SQL 语句 TYPE object_name | VIEW object_name 并且 aggregate_signature 是: * | [ argmode ] [ argname ] argtype [ , ... ] | [ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ] 2.11 ALTER FOREIGN DATA WRAPPER ALTER FOREIGN DATA WRAPPER name [ HANDLER handler_function | NO HANDLER ] [ VALIDATOR validator_function | NO VALIDATOR ] [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ]) ] ALTER FOREIGN DATA WRAPPER name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER FOREIGN DATA WRAPPER name RENAME TO new_name 2.12 ALTER FOREIGN TABLE ALTER FOREIGN TABLE [ IF EXISTS ] [ ONLY ] name [ * ] action [, ... ] ALTER FOREIGN TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME [ COLUMN ] column_name TO new_column_name ALTER FOREIGN TABLE [ IF EXISTS ] name RENAME TO new_name ALTER FOREIGN TABLE [ IF EXISTS ] name SET SCHEMA new_schema 其中 action 是以下之一: ADD [ COLUMN ] column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ] ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] ALTER [ COLUMN ] column_name SET DEFAULT expression 8 第2章 SQL 语句 ALTER [ COLUMN ] column_name DROP DEFAULT ALTER [ COLUMN ] column_name { SET | DROP } NOT NULL ALTER [ COLUMN ] column_name SET STATISTICS integer ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] ) ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] ) ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } ALTER [ COLUMN ] column_name OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ]) ADD table_constraint [ NOT VALID ] VALIDATE CONSTRAINT constraint_name DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ] DISABLE TRIGGER [ trigger_name | ALL | USER ] ENABLE TRIGGER [ trigger_name | ALL | USER ] ENABLE REPLICA TRIGGER trigger_name ENABLE ALWAYS TRIGGER trigger_name SET WITHOUT OIDS INHERIT parent_table NO INHERIT parent_table OWNER TO { new_owner | CURRENT_USER | SESSION_USER } OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ]) 2.13 ALTER FUNCTION ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] action [ ... ] [ RESTRICT ] ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] RENAME TO new_name ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] SET SCHEMA new_schema ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] DEPENDS ON EXTENSION extension_name ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] COMMENT 'String' 其中 action 是以下之一: CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF 9 第2章 SQL 语句 [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER PARALLEL { UNSAFE | RESTRICTED | SAFE } COST execution_cost ROWS result_rows SUPPORT support_function SET configuration_parameter { TO | = } { value | DEFAULT } SET configuration_parameter FROM CURRENT RESET configuration_parameter RESET ALL 2.14 ALTER GROUP ALTER GROUP role_specification ADD USER user_name [, ... ] ALTER GROUP role_specification DROP USER user_name [, ... ] 其中 role_specification 可以是: role_name | CURRENT_USER | SESSION_USER ALTER GROUP group_name RENAME TO new_name 2.15 ALTER INDEX ALTER INDEX [ IF EXISTS ] name RENAME TO new_name ALTER INDEX [ IF EXISTS ] name SET TABLESPACE tablespace_name ALTER INDEX name ATTACH PARTITION index_name ALTER INDEX name DEPENDS ON EXTENSION extension_name ALTER INDEX [ IF EXISTS ] name SET ( storage_parameter = value [, ... ] ) ALTER INDEX [ IF EXISTS ] name RESET ( storage_parameter [, ... ] ) ALTER INDEX [ IF EXISTS ] name ALTER [ COLUMN ] column_number SET STATISTICS integer ALTER INDEX ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ] SET TABLESPACE new_tablespace [ NOWAIT ] ALTER INDEX name UNUSABLE | REBUILD ALTER INDEX name ENABLE | DISABLE 10 第2章 SQL 语句 2.16 ALTER LANGUAGE ALTER [ PROCEDURAL ] LANGUAGE name RENAME TO new_name ALTER [ PROCEDURAL ] LANGUAGE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } 2.17 ALTER LARGE OBJECT ALTER LARGE OBJECT large_object_oid OWNER TO { new_owner | CURRENT_USER | SESSION_USER } 2.18 ALTER MATERIALIZED VIEW ALTER MATERIALIZED VIEW [ IF EXISTS ] name action [, ... ] ALTER MATERIALIZED VIEW name DEPENDS ON EXTENSION extension_name ALTER MATERIALIZED VIEW [ IF EXISTS ] name RENAME [ COLUMN ] column_name TO new_column_name ALTER MATERIALIZED VIEW [ IF EXISTS ] name RENAME TO new_name ALTER MATERIALIZED VIEW [ IF EXISTS ] name SET SCHEMA new_schema ALTER MATERIALIZED VIEW ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ] SET TABLESPACE new_tablespace [ NOWAIT ] 其中 action 是下列之一: ALTER [ COLUMN ] column_name SET STATISTICS integer ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] ) ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] ) ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } 11 第2章 SQL 语句 CLUSTER ON index_name SET WITHOUT CLUSTER SET ( storage_parameter = value [, ... ] ) RESET ( storage_parameter [, ... ] ) OWNER TO { new_owner | CURRENT_USER | SESSION_USER } 2.19 ALTER OPERATOR ALTER OPERATOR name ( { left_type | NONE } , { right_type | NONE } ) OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER OPERATOR name ( { left_type | NONE } , { right_type | NONE } ) SET SCHEMA new_schema ALTER OPERATOR name ( { left_type | NONE } , { right_type | NONE } ) SET ( { RESTRICT = { res_proc | NONE } | JOIN = { join_proc | NONE } } [, ... ] ) 2.20 ALTER OPERATOR CLASS ALTER OPERATOR CLASS name USING index_method RENAME TO new_name ALTER OPERATOR CLASS name USING index_method OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER OPERATOR CLASS name USING index_method SET SCHEMA new_schema 2.21 ALTER OPERATOR FAMILY ALTER OPERATOR FAMILY name USING index_method ADD { OPERATOR strategy_number operator_name ( op_type, op_type ) [ FOR SEARCH | FOR ORDER BY sort_family_name ] | FUNCTION support_number [ ( op_type [ , op_type ] ) ] 12 第2章 SQL 语句 function_name [ ( argument_type [, ...] ) ] } [, ... ] ALTER OPERATOR FAMILY name USING index_method DROP { OPERATOR strategy_number ( op_type [ , op_type ] ) | FUNCTION support_number ( op_type [ , op_type ] ) } [, ... ] ALTER OPERATOR FAMILY name USING index_method RENAME TO new_name ALTER OPERATOR FAMILY name USING index_method OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER OPERATOR FAMILY name USING index_method SET SCHEMA new_schema 2.22 ALTER PACKAGE ALTER PACKAGE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER PACKAGE name RENAME TO new_name ALTER PACKAGE name SET SCHEMA new_schema ALTER PACKAGE name COMPILE [ PACKAGE | SPECIFICATION | BODY ] 2.23 ALTER POLICY ALTER POLICY name ON table_name RENAME TO new_name ALTER POLICY name ON table_name [ TO { role_name | PUBLIC | CURRENT_USER | SESSION_USER } [, ...] ] [ USING ( using_expression ) ] [ WITH CHECK ( check_expression ) ] 13 第2章 SQL 语句 2.24 ALTER PROCEDURE ALTER PROCEDURE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] action [ ... ] [ RESTRICT ] ALTER PROCEDURE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] RENAME TO new_name ALTER PROCEDURE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER PROCEDURE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] SET SCHEMA new_schema ALTER PROCEDURE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] DEPENDS ON EXTENSION extension_name ALTER PROCEDURE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] COMPILE ALTER PROCEDURE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] COMMENT 'String' 其中 action 是下列之一: [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER SET configuration_parameter { TO | = } { value | DEFAULT } SET configuration_parameter FROM CURRENT RESET configuration_parameter RESET ALL 2.25 ALTER PUBLICATION ALTER PUBLICATION name ADD TABLE [ ONLY ] table_name [ * ] [, ...] ALTER PUBLICATION name SET TABLE [ ONLY ] table_name [ * ] [, ...] ALTER PUBLICATION name DROP TABLE [ ONLY ] table_name [ * ] [, ...] ALTER PUBLICATION name SET ( publication_parameter [= value] [, ... ] ) 14 第2章 SQL 语句 ALTER PUBLICATION name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER PUBLICATION name RENAME TO new_name 2.26 ALTER RESOURCE GROUPE ALTER RESOURCE GROUP group_name SET (resource_name = value); 2.27 ALTER ROLE ALTER ROLE role_specification [ WITH ] option [ ... ] 其中 option 可以是: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL | VALID UNTIL 'timestamp' ALTER ROLE name RENAME TO new_name ALTER ROLE { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter { TO | = } { value | DEFAULT } ALTER ROLE { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter FROM CURRENT ALTER ROLE { role_specification | ALL } [ IN DATABASE database_name ] RESET configuration_parameter 15 第2章 SQL 语句 ALTER ROLE { role_specification | ALL } [ IN DATABASE database_name ] RESET ALL 其中 role_specification 可以是: role_name | CURRENT_USER | SESSION_USER 2.28 ALTER ROUTINE ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] action [ ... ] [ RESTRICT ] ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] RENAME TO new_name ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] SET SCHEMA new_schema ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] DEPENDS ON EXTENSION extension_name 其中 action 是下列之一: IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER PARALLEL { UNSAFE | RESTRICTED | SAFE } COST execution_cost ROWS result_rows SET configuration_parameter { TO | = } { value | DEFAULT } SET configuration_parameter FROM CURRENT RESET configuration_parameter RESET ALL 16 第2章 SQL 语句 2.29 ALTER RULE ALTER RULE name ON table_name RENAME TO new_name 2.30 ALTER SCHEMA ALTER SCHEMA name RENAME TO new_name ALTER SCHEMA name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } 2.31 ALTER SEQUENCE ALTER SEQUENCE [ IF EXISTS ] name [ AS data_type ] [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ] [ START [ WITH ] start ] [ RESTART [ [ WITH ] restart ] ] [ CACHE cache ] [ NOCACHE ] [ [ NO ] CYCLE ] [ NOCYCLE ] [ ORDER ] [ NOORDER ] [ OWNED BY { table_name.column_name | NONE } ] ALTER SEQUENCE [ IF EXISTS ] name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER SEQUENCE [ IF EXISTS ] name RENAME TO new_name ALTER SEQUENCE [ IF EXISTS ] name SET SCHEMA new_schema 2.32 ALTER SERVER 17 第2章 SQL 语句 ALTER SERVER name [ VERSION 'new_version' ] [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] ) ] ALTER SERVER name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER SERVER name RENAME TO new_name 2.33 ALTER STATISTICS ALTER STATISTICS name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER STATISTICS name RENAME TO new_name ALTER STATISTICS name SET SCHEMA new_schema 2.34 ALTER SUBSCRIPTION ALTER SUBSCRIPTION name CONNECTION 'conninfo' ALTER SUBSCRIPTION name SET PUBLICATION publication_name [, ...] [ WITH (set_publication_option [= value] [, ... ] ) ] ALTER SUBSCRIPTION name REFRESH PUBLICATION [ WITH ( refresh_option [= value] [, ... ] ) ] ALTER SUBSCRIPTION name ENABLE ALTER SUBSCRIPTION name DISABLE ALTER SUBSCRIPTION name SET ( subscription_parameter [= value] [, ... ] ) ALTER SUBSCRIPTION name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER SUBSCRIPTION name RENAME TO new_name 18 第2章 SQL 语句 2.35 ALTER SYNONYM ALTER [ PUBLIC ] SYNONYM syn_name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER [ PUBLIC ] SYNONYM [ IF EXISTS ] syn_name RENAME TO new_name 2.36 ALTER SYSTEM ALTER SYSTEM SET configuration_parameter { TO | = } { value | 'value' | DEFAULT } ALTER SYSTEM RESET configuration_parameter ALTER SYSTEM RESET ALL 2.37 ALTER TABLE ALTER TABLE [CONCURRENTLY] [ IF EXISTS ] [ ONLY ] name [ * ] action [, ... ] ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME [ COLUMN ] column_name TO new_column_name ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME CONSTRAINT constraint_name TO new_constraint_name ALTER TABLE [ IF EXISTS ] name RENAME TO new_name ALTER TABLE [ IF EXISTS ] name SET SCHEMA new_schema ALTER TABLE ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ] SET TABLESPACE new_tablespace [ NOWAIT ] ALTER TABLE [ IF EXISTS ] name ATTACH PARTITION partition_name { FOR VALUES partition_bound_spec | DEFAULT } ALTER TABLE [ IF EXISTS ] name DETACH PARTITION partition_name ALTER TABLE [ IF EXISTS ] name ADD { PARTITION partition partition_bound_spec_ex [ TABLESPACE tablespace_name ] [, ... ] } [ UPDATE [ GLOBAL ] INDEXES | INVALIDATE GLOBAL INDEXES ] ALTER TABLE [ IF EXISTS ] name DROP { PARTITION partition | PARTITIONS partition [, ... ] } [ UPDATE [ GLOBAL ] INDEXES | INVALIDATE GLOBAL INDEXES ] ALTER TABLE [ IF EXISTS ] name DROP { SUBPARTITION subpartition | SUBPARTITIONS subpartition [, ... ] } [ UPDATE [ GLOBAL ] INDEXES | INVALIDATE GLOBAL INDEXES ] 19 第2章 SQL 语句 ALTER TABLE [ IF EXISTS ] name TRUNCATE { PARTITION partition | PARTITIONS partition [, ... ] } [ { DROP [ALL] | REUSE } STORAGE ] [ CASCADE ] [ UPDATE [ GLOBAL ] INDEXES | INVALIDATE GLOBAL INDEXES ] ALTER TABLE [ IF EXISTS ] name TRUNCATE { SUBPARTITION subpartition | SUBPARTITIONS subpartition [, ... ] } [ { DROP [ ALL ] | REUSE } STORAGE ] [ CASCADE ] [ UPDATE [ GLOBAL ] INDEXES | INVALIDATE GLOBAL INDEXES ] ALTER TABLE [ IF EXISTS ] name SET SUBPARTITION TEMPLATE ( [ SUBPARTITION subpartition [subpartition_bound_spec] [ TABLESPACE tablespace_name ] [, ... ] ] ) ALTER TABLE [ IF EXISTS ] name EXCHANGE partition_name WITH TABLE table_name [ INCLUDING | EXCLUDEING INDEXES ] [ WITH | WITHOUT VALIDATION ] [ UPDATE [ GLOBAL ] INDEXES | INVALIDATE GLOBAL INDEXES ] ALTER TABLE [ IF EXISTS ] name MODIFY PARTITION partition [ REBUILD ] UNUSABLE LOCAL INDEXES ALTER TABLE [ IF EXISTS ] name MODIFY SUBPARTITION subpartition [ REBUILD ] UNUSABLE LOCAL INDEXES ALTER TABLE [ IF EXISTS ] name SET INTERVAL ( [ interval_expr ] ) ALTER TABLE [ IF EXISTS ] name SET STORE IN ( [ tablespace_name [, ...] ] ) ALTER TABLE [ IF EXISTS ] name ENCRYPTED | NOT ENCYPTED ALTER TABLE [ IF EXISTS ] name (SET { WITH | WITHOUT } ROWID) ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ *] MODIFY ( mysql_modify_column_clause [ , ... ] ) ALTER TABLE name COMMENT [=] 'String' 其中 action 是以下之一: ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] ADD [ COLUMN ] [ IF NOT EXISTS ] ( column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] [, ... ] ) DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ] ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ] ALTER [ COLUMN ] column_name SET DEFAULT expression ALTER [ COLUMN ] column_name DROP DEFAULT ALTER [ COLUMN ] column_name { SET | DROP } NOT NULL ALTER [ COLUMN ] column_name { INVISIBLE | VISIBLE } MODIFY column_name [ datatype ][ NULL | NOT NULL ] MODIFY ( column_name [ datatype ][ NULL | NOT NULL ][, ... ] ) 20 第2章 SQL 语句 MODIFY column_name { INVISIBLE | VISIBLE} MODIFY ( column_name { INVISIBLE | VISIBLE } [, ...]) ALTER [ COLUMN ] column_name ADD GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( sequence_options ) ] ALTER [ COLUMN ] column_name ADD IDENTITY [ NumericOnly , NumericOnly ] ALTER [ COLUMN ] column_name { SET GENERATED { ALWAYS | BY DEFAULT } | SET sequence_option | RESTART [ [ WITH ] restart ] } [...] ALTER [ COLUMN ] column_name DROP IDENTITY [ IF EXISTS ] ALTER [ COLUMN ] column_name SET STATISTICS integer ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] ) ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] ) ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } ADD table_constraint [ NOT VALID ] ADD table_constraint_using_index ALTER CONSTRAINT constraint_name [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] VALIDATE CONSTRAINT constraint_name DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ] DISABLE TRIGGER [ trigger_name | ALL | USER ] ENABLE TRIGGER [ trigger_name | ALL | USER ] ENABLE ALL TRIGGERS DISABLE ALL TRIGGERS ENABLE REPLICA TRIGGER trigger_name ENABLE ALWAYS TRIGGER trigger_name DISABLE RULE rewrite_rule_name ENABLE RULE rewrite_rule_name ENABLE REPLICA RULE rewrite_rule_name ENABLE ALWAYS RULE rewrite_rule_name DISABLE ROW LEVEL SECURITY ENABLE ROW LEVEL SECURITY FORCE ROW LEVEL SECURITY NO FORCE ROW LEVEL SECURITY CLUSTER ON index_name SET WITHOUT CLUSTER SET WITHOUT OIDS SET TABLESPACE new_tablespace SET { LOGGED | UNLOGGED } SET ( storage_parameter = value [, ... ] ) RESET ( storage_parameter [, ... ] ) INHERIT parent_table NO INHERIT parent_table OF type_name NOT OF OWNER TO { new_owner | CURRENT_USER | SESSION_USER } REPLICA IDENTITY { DEFAULT | USING INDEX index_name | FULL | NOTHING } 21 第2章 SQL 语句 MODIFY constraint { ENABLE | DISABLE } [ VALIDATE | NOVALIDATE ] { ENABLE | DISABLE } [ VALIDATE | NOVALIDATE ] constraint [ ... ] ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type COMMENT 'String' MODIFY mysql_modify_column_clause MODIFY col_name data_type ON UPDATE CURRENT_TIMESTAMP/ LOCALTIMESTAMP/ LOCALTIME [COMMENT 'String'] CHANGE [COLUMN] col_name new_name datatype [NULL| NOT NULL][ DEFAULT expr][COMMENT 'String'] and partition_bound_spec is: IN ( partition_bound_expr [, ...] ) | FROM ( { partition_bound_expr | MINVALUE | MAXVALUE } [, ...] ) TO ( { partition_bound_expr | MINVALUE | MAXVALUE } [, ...] ) | WITH ( MODULUS numeric_literal, REMAINDER numeric_literal ) and column_constraint is: [ CONSTRAINT constraint_name ] { NOT NULL | NULL | CHECK ( expression ) [ NO INHERIT ] | DEFAULT default_expr | GENERATED ALWAYS AS ( generation_expr ) STORED | GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( sequence_options ) ] | IDENTITY [ NumericOnly, NumericOnly ] | UNIQUE index_parameters | PRIMARY KEY index_parameters | REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE referential_action ] [ ON UPDATE referential_action ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] [ { ENABLE | DISABLE } [ VALIDATE | NOVALIDATE ] ] 而 table_constraint 是: [ CONSTRAINT constraint_name ] { CHECK ( expression ) [ NO INHERIT ] | UNIQUE ( column_name [, ... ] ) index_parameters | PRIMARY KEY ( column_name [, ... ] ) index_parameters | EXCLUDE [ USING index_method ] ( exclude_element WITH operator [, ... ] ) index_parameters [ WHERE ( predicate ) ] | FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE referential_action 22 第2章 SQL 语句 ] [ ON UPDATE referential_action ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] [ { ENABLE | DISABLE } [ VALIDATE | NOVALIDATE ] ] 并且 table_constraint_using_index 是: [ CONSTRAINT constraint_name ] { UNIQUE | PRIMARY KEY } USING INDEX index_name [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] UNIQUE、PRIMARY KEY 以及 EXCLUDE 约束中的 index_parameters 是: [ INCLUDE ( column_name [, ... ] ) ] [ WITH ( storage_parameter [= value] [, ... ] ) ] [ USING INDEX TABLESPACE tablespace_name ] exclude_element in an EXCLUDE constraint is: { column_name | ( expression ) } [ opclass ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] 其中 constraint 是: { CONSTRAINT constraint_name | UNIQUE ( column_name [, ... ] ) | PRIMARY KEY } partition_bound_spec_ex 是: VALUES LESS THEN ( { partition_bound_expr | MAXVALUE } [, …] ) | VALUES ( partition_bound_expr [, …] | DEFAULT ) subpartition_bound_spec 是: VALUES LESS THEN ( { partition_bound_expr | MAXVALUE } [, …] ) | VALUES ( partition_bound_expr [, …] | DEFAULT ) mysql_modify_column_clause 是: [ COLUMN ] col_name datatype [ NULL| NOT NULL ][ DEFAULT expr ][ COMMENT 'String' ] | col_name { datatype| NULL| NOT NULL| DEFAULT expr| COMMENT 'String' } 23 第2章 SQL 语句 2.38 ALTER TABLESPACE ALTER TEXT SEARCH CONFIGURATION name ADD MAPPING FOR token_type [, ... ] WITH dictionary_name [, ... ] ALTER TEXT SEARCH CONFIGURATION name ALTER MAPPING FOR token_type [, ... ] WITH dictionary_name [, ... ] ALTER TEXT SEARCH CONFIGURATION name ALTER MAPPING REPLACE old_dictionary WITH new_dictionary ALTER TEXT SEARCH CONFIGURATION name ALTER MAPPING FOR token_type [, ... ] REPLACE old_dictionary WITH new_dictionary ALTER TEXT SEARCH CONFIGURATION name DROP MAPPING [ IF EXISTS ] FOR token_type [, ... ] ALTER TEXT SEARCH CONFIGURATION name RENAME TO new_name ALTER TEXT SEARCH CONFIGURATION name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER TEXT SEARCH CONFIGURATION name SET SCHEMA new_schema 2.39 ALTER TEXT SEARCH DICTIONARY ALTER TEXT SEARCH DICTIONARY name ( option [ = value ] [, ... ] ) ALTER TEXT SEARCH DICTIONARY name RENAME TO new_name ALTER TEXT SEARCH DICTIONARY name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER TEXT SEARCH DICTIONARY name SET SCHEMA new_schema 2.40 ALTER TEXT SEARCH PARSER ALTER TEXT SEARCH PARSER name RENAME TO new_name ALTER TEXT SEARCH PARSER name SET SCHEMA new_schema 2.41 ALTER TEXT SEARCH TEMPLATE ALTER TEXT SEARCH TEMPLATE name RENAME TO new_name ALTER TEXT SEARCH TEMPLATE name SET SCHEMA new_schema 24 第2章 SQL 语句 2.42 ALTER TRIGGER ALTER TRIGGER name ON table_name RENAME TO new_name ALTER TRIGGER name ON table_name DEPENDS ON EXTENSION extension_name ALTER TRIGGER name ENABLE ALTER TRIGGER name DISABLE ALTER TRIGGER name COMPILE 2.43 ALTER TYPE ALTER TYPE name action [, ... ] ALTER TYPE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER TYPE name RENAME ATTRIBUTE attribute_name TO new_attribute_name [ CASCADE | RESTRICT ] ALTER TYPE name RENAME TO new_name ALTER TYPE name SET SCHEMA new_schema ALTER TYPE name ADD VALUE [ IF NOT EXISTS ] new_enum_value [ { BEFORE | AFTER } neighbor_enum_value ] ALTER TYPE name ADD VALUE [ IF NOT EXISTS ] new_set_value [ { BEFORE | AFTER } neighbor_set_value ] ALTER TYPE name RENAME VALUE existing_enum_value TO new_enum_value ALTER TYPE name RENAME VALUE existing_set_value TO new_set_value ALTER TYPE name ADD ATTRIBUTE (attribute_name data_type [, ... ]) [ CASCADE | RESTRICT ] ALTER TYPE name MODIFY ATTRIBUTE (attribute_name data_type [, ... ]) [ CASCADE | RESTRICT ] ALTER TYPE name DROP ATTRIBUTE (attribute_name [, ... ]) [ CASCADE | RESTRICT ] ALTER TYPE name COMPILE [ SPECIFICATION | BODY ] 这里 action 是以下之一: ADD ATTRIBUTE attribute_name data_type [ COLLATE collation ] [ CASCADE | RESTRICT ] DROP ATTRIBUTE [ IF EXISTS ] attribute_name [ CASCADE | RESTRICT ] ALTER ATTRIBUTE attribute_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ CASCADE | RESTRICT ] MODIFY ATTRIBUTE attribute_name data_type [ CASCADE | RESTRICT ] ADD subprogram_spec DROP subprogram_spec 25 第2章 SQL 语句 2.44 ALTER USER ALTER USER role_specification [ WITH ] option [ ... ] 其中 option 可以是: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | ACCOUNT { UNLOCK | LOCK } | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' ALTER USER name RENAME TO new_name ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter { TO | = } { value | DEFAULT } ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] SET configuration_parameter FROM CURRENT ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] RESET configuration_parameter ALTER USER { role_specification | ALL } [ IN DATABASE database_name ] RESET ALL 其中 role_specification 可以是: role_name | CURRENT_USER | SESSION_USER 2.45 ALTER USER MAPPING ALTER USER MAPPING FOR { user_name | USER | CURRENT_USER | SESSION_USER | PUBLIC } SERVER server_name OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] ) 26 第2章 SQL 语句 2.46 ALTER VIEW ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name SET DEFAULT expression ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name DROP DEFAULT ALTER VIEW [ IF EXISTS ] name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } ALTER VIEW [ IF EXISTS ] name RENAME TO new_name ALTER VIEW [ IF EXISTS ] name SET SCHEMA new_schema ALTER VIEW [ IF EXISTS ] name SET ( view_option_name [= view_option_value] [, ... ] ) ALTER VIEW [ IF EXISTS ] name RESET ( view_option_name [, ... ] ) ALTER VIEW [ IF EXISTS ] name COMPILE 2.47 ANALYZE ANALYZE [ ( option [, ...] ) ] [ table_and_columns [, ...] ] ANALYZE [ VERBOSE ] [ table_and_columns [, ...] ] 其中 option 可以是: VERBOSE [ boolean ] SKIP_LOCKED [ boolean ] table_and_columns 是: table_name [ ( column_name [, ...] ) ] 2.48 BEGIN BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ] 其中 transaction_mode 是以下之一: ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED } READ WRITE | READ ONLY [ NOT ] DEFERRABLE 27 第2章 SQL 语句 2.49 CALL/EXEC CALL/EXEC name[@dblink_name] ( [ argument ] [, ...] ) 2.50 CHECKPOINT CHECKPOINT CLOSE CLOSE { name | ALL } 2.51 CLUSTER CLUSTER [VERBOSE] table_name [ USING index_name ] CLUSTER [VERBOSE] 2.52 COMMENT COMMENT ON { ACCESS METHOD object_name | AGGREGATE aggregate_name ( aggregate_signature ) | CAST (source_type AS target_type) | COLLATION object_name | COLUMN relation_name.column_name | CONSTRAINT constraint_name ON table_name | CONSTRAINT constraint_name ON DOMAIN domain_name | CONVERSION object_name | DATABASE object_name | DOMAIN object_name | EXTENSION object_name | EVENT TRIGGER object_name | FOREIGN DATA WRAPPER object_name | FOREIGN TABLE object_name | 28 第2章 SQL 语句 FUNCTION function_name ( [ [ argmode ] [ argname ] argtype [, ...] ] ) | INDEX object_name | LARGE OBJECT large_object_oid | MATERIALIZED VIEW object_name | OPERATOR operator_name (left_type, right_type) | OPERATOR CLASS object_name USING index_method | OPERATOR FAMILY object_name USING index_method | PACKAGE package_name | POLICY policy_name ON table_name | [ PROCEDURAL ] LANGUAGE object_name | PROCEDURE procedure_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] | ROLE object_name | RULE rule_name ON table_name | SCHEMA object_name | SEQUENCE object_name | SERVER object_name | TABLE object_name | TABLESPACE object_name | TEXT SEARCH CONFIGURATION object_name | TEXT SEARCH DICTIONARY object_name | TEXT SEARCH PARSER object_name | TEXT SEARCH TEMPLATE object_name | TRANSFORM FOR type_name LANGUAGE lang_name | TRIGGER trigger_name ON table_name | TYPE object_name | VIEW object_name } IS 'text' 其中 aggregate_signature 是: * | [ argmode ] [ argname ] argtype [ , ... ] | [ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ] 2.53 COMMIT COMMIT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ] 29 第2章 SQL 语句 2.54 COMMIT PREPARED COMMIT PREPARED transaction_id 2.55 COPY COPY table_name [ ( column_name [, ...] ) ] FROM { 'filename' | PROGRAM 'command' | STDIN } [ [ WITH ] ( option [, ...] ) ] [ WHERE condition ] COPY { table_name [ ( column_name [, ...] ) ] | ( query ) } TO { 'filename' | PROGRAM 'command' | STDOUT } [ [ WITH ] ( option [, ...] ) ] 其中 option 可以是: FORMAT format_name FREEZE [ boolean ] DELIMITER 'delimiter_character' TERMINATOR 'terminator_character' NULL 'null_string' HEADER [ boolean ] QUOTE 'quote_character' ESCAPE 'escape_character' FORCE_QUOTE { ( column_name [, ...] ) | * } FORCE_NOT_NULL ( column_name [, ...] ) FORCE_NULL ( column_name [, ...] ) ENCODING 'encoding_name' SKIP_ERRORS [‘errors_num’ ] 2.56 CREATE ACCESS METHOD CREATE ACCESS METHOD name TYPE access_method_type HANDLER handler_function 30 第2章 SQL 语句 2.57 CREATE AGGREGATE CREATE [ OR REPLACE ] AGGREGATE name ( [ argmode ] [ argname ] arg_data_type [ , ... ] ) ( SFUNC = sfunc, STYPE = state_data_type [ , SSPACE = state_data_size ] [ , FINALFUNC = ffunc ] [ , FINALFUNC_EXTRA ] [ , FINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ] [ , COMBINEFUNC = combinefunc ] [ , SERIALFUNC = serialfunc ] [ , DESERIALFUNC = deserialfunc ] [ , INITCOND = initial_condition ] [ , MSFUNC = msfunc ] [ , MINVFUNC = minvfunc ] [ , MSTYPE = mstate_data_type ] [ , MSSPACE = mstate_data_size ] [ , MFINALFUNC = mffunc ] [ , MFINALFUNC_EXTRA ] [ , MFINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ] [ , MINITCOND = minitial_condition ] [ , SORTOP = sort_operator ] [ , PARALLEL = { SAFE | RESTRICTED | UNSAFE } ] ) CREATE [ OR REPLACE ] AGGREGATE name ( [ [ argmode ] [ argname ] arg_data_type [ , ... ] ] ORDER BY [ argmode ] [ argname ] arg_data_type [ , ... ] ) ( SFUNC = sfunc, STYPE = state_data_type [ , SSPACE = state_data_size ] [ , FINALFUNC = ffunc ] [ , FINALFUNC_EXTRA ] [ , FINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ] [ , INITCOND = initial_condition ] [ , PARALLEL = { SAFE | RESTRICTED | UNSAFE } ] [ , HYPOTHETICAL ] ) 或者旧的语法: 31 第2章 SQL 语句 CREATE [ OR REPLACE ] AGGREGATE name ( BASETYPE = base_type, SFUNC = sfunc, STYPE = state_data_type [ , SSPACE = state_data_size ] [ , FINALFUNC = ffunc ] [ , FINALFUNC_EXTRA ] [ , FINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ] [ , COMBINEFUNC = combinefunc ] [ , SERIALFUNC = serialfunc ] [ , DESERIALFUNC = deserialfunc ] [ , INITCOND = initial_condition ] [ , MSFUNC = msfunc ] [ , MINVFUNC = minvfunc ] [ , MSTYPE = mstate_data_type ] [ , MSSPACE = mstate_data_size ] [ , MFINALFUNC = mffunc ] [ , MFINALFUNC_EXTRA ] [ , MFINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ] [ , MINITCOND = minitial_condition ] [ , SORTOP = sort_operator ] ) 2.58 CREATE CAST CREATE CAST (source_type AS target_type) WITH FUNCTION function_name [ (argument_type [, ...]) ] [ AS ASSIGNMENT | AS IMPLICIT ] CREATE CAST (source_type AS target_type) WITHOUT FUNCTION [ AS ASSIGNMENT | AS IMPLICIT ] CREATE CAST (source_type AS target_type) WITH INOUT [ AS ASSIGNMENT | AS IMPLICIT ] 32 第2章 SQL 语句 2.59 CREATE COLLATION CREATE COLLATION [ IF NOT EXISTS ] name ( [ LOCALE = locale, ] [ LC_COLLATE = lc_collate, ] [ LC_CTYPE = lc_ctype, ] [ PROVIDER = provider, ] [ DETERMINISTIC = boolean, ] [ VERSION = version ] ) CREATE COLLATION [ IF NOT EXISTS ] name FROM existing_collation 2.60 CREATE CONTEXT CREATE [OR REPLACE] CONTEXT namespace USING [schema.] packagename 2.61 CREATE CONVERSION CREATE [ DEFAULT ] CONVERSION name FOR source_encoding TO dest_encoding FROM function_name 2.62 CREATE DATABASE CREATE DATABASE name [ [ WITH ] [ OWNER [=] user_name ] [ TEMPLATE [=] template ] [ ENCODING [=] encoding ] [ LC_COLLATE [=] lc_collate ] [ LC_CTYPE [=] lc_ctype ] [ TABLESPACE [=] tablespace_name ] [ ALLOW_CONNECTIONS [=] allowconn ] [ CONNECTION LIMIT [=] connlimit ] [ IS_TEMPLATE [=] istemplate ] ] 33 第2章 SQL 语句 2.63 CREATE DATABASE LINK CREATE [PUBLIC] DATABASE LINK dblink CONNECT TO user IDENTIFIED BY password USING {(connect_string) | config_tag }; 2.64 CREATE DIRECTORY CREATE [ OR REPLACE ] DIRECTORY (public.)dir_name AS 'path_name' 2.65 CREATE DOMAIN CREATE DOMAIN name [ AS ] data_type [ COLLATE collation ] [ DEFAULT expression ] [ constraint [ ... ] ] 其中 constraint 是: [ CONSTRAINT constraint_name ] { NOT NULL | NULL | CHECK (expression) } 2.66 CREATE EVENT TRIGGER CREATE EVENT TRIGGER name ON event [ WHEN filter_variable IN (filter_value [, ... ]) [ AND ... ] ] EXECUTE { FUNCTION | PROCEDURE } function_name() 2.67 CREATE EXTENSION CREATE EXTENSION [ IF NOT EXISTS ] extension_name [ WITH ] [ SCHEMA schema_name ] 34 第2章 SQL 语句 [ VERSION version ] [ FROM old_version ] [ CASCADE ] 2.68 CREATE FOREIGN DATA WRAPPER CREATE FOREIGN DATA WRAPPER name [ HANDLER handler_function | NO HANDLER ] [ VALIDATOR validator_function | NO VALIDATOR ] [ OPTIONS ( option 'value' [, ... ] ) ] 2.69 CREATE FOREIGN TABLE CREATE FOREIGN TABLE [ IF NOT EXISTS ] table_name ( [ { column_name data_type [ OPTIONS ( option 'value' [, ... ] ) ] [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint } [, ... ] ] ) [ INHERITS ( parent_table [, ... ] ) ] SERVER server_name [ OPTIONS ( option 'value' [, ... ] ) ] CREATE FOREIGN TABLE [ IF NOT EXISTS ] table_name PARTITION OF parent_table [ ( { column_name [ WITH OPTIONS ] [ column_constraint [ ... ] ] | table_constraint } [, ... ] ) ] partition_bound_spec SERVER server_name [ OPTIONS ( option 'value' [, ... ] ) ] 其中 column_constraint 是: [ CONSTRAINT constraint_name ] { NOT NULL | NULL | 35 第2章 SQL 语句 CHECK ( expression ) [ NO INHERIT ] | DEFAULT default_expr | GENERATED ALWAYS AS ( generation_expr ) STORED } [ CONSTRAINT constraint_name ] CHECK ( expression ) [ NO INHERIT ] 2.70 CREATE FUNCTION CREATE [ OR REPLACE ] [ EDITIONABLE | NONEDITIONABLE ] FUNCTION name [ ( [ [ argname ] [ argmode ] argtype [ { DEFAULT | := } default_expr ] [, ...] ] ) ] { RETURNS | RETURN } rettype [ < invoker_rights_clause > | PIPELINED ] [ COMMENT 'String' ] { AS | IS } { [ label_name ] [ DECLARE ] [ < variable_declaration > ] [ < cursor_declaration > ] [ < exception_declaration > ] [ < NestfunctionDeclaration > ] BEGIN < sequence_of_statement > END [ label_name ] } CREATE [ OR REPLACE ] [INTERNAL] FUNCTION name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] ) [ RETURNS rettype | RETURNS TABLE ( column_name column_type [, ...] ) ] [ COMMENT 'String' ] { LANGUAGE lang_name | TRANSFORM { FOR TYPE type_name } [, ... ] | WINDOW | IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT | [] | PARALLEL { UNSAFE | RESTRICTED | SAFE } | COST execution_cost 36 第2章 SQL 语句 | ROWS result_rows | SUPPORT support_function | SET configuration_parameter { TO value | = value | FROM CURRENT } | AS 'definition' | AS 'obj_file', 'link_symbol' } ... AUTHID CURRENT_USER | AUTHID DEFINER |[ EXTERNAL ] SECURITY INVOKER |[ EXTERNAL ] SECURITY DEFINER 2.71 CREATE GROUP CREATE GROUP name [ [ WITH ] option [ ... ] ] 其中 option 可以是: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | [ ENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid 2.72 CREATE INDEX CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] name ] ON [ ONLY ] table_name [ USING method ] ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] ) [ INCLUDE ( column_name [, ...] ) ] [GLOBAL | LOCAL] 37 第2章 SQL 语句 [ WITH ( storage_parameter = value [, ... ] ) ] [ TABLESPACE tablespace_name ] [ UNUSABLE | USABLE ] [ COMMENT 'String' ] [ WHERE predicate ] 2.73 CREATE LANGUAGE CREATE [ OR REPLACE ] [ PROCEDURAL ] LANGUAGE name CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name HANDLER call_handler [ INLINE inline_handler ] [ VALIDATOR valfunction ] 2.74 CREATE MATERIALIZED VIEW CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name [ (column_name [, ...] ) ] [ USING method ] [ WITH ( storage_parameter [= value] [, ... ] ) ] [ TABLESPACE tablespace_name ] AS query [ WITH [ NO ] DATA ] 2.75 CREATE OPERATOR CLASS CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type USING index_method [ FAMILY family_name ] AS { OPERATOR strategy_number operator_name [ ( op_type, op_type ) ] [ FOR SEARCH | FOR ORDER BY sort_family_name ] | FUNCTION support_number [ ( op_type [ , op_type ] ) ] function_name ( argument_type [, ...] ) | STORAGE storage_type } [, ... ] 38 第2章 SQL 语句 2.76 CREATE OPERATOR CREATE OPERATOR name ( {FUNCTION|PROCEDURE} = function_name [, LEFTARG = left_type ] [, RIGHTARG = right_type ] [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ] [, RESTRICT = res_proc ] [, JOIN = join_proc ] [, HASHES ] [, MERGES ] ) 2.77 CREATE OPERATOR FAMILY CREATE OPERATOR FAMILY name USING index_method 2.78 CREATE PACKAGE CREATE [ OR REPLACE ] PACKAGE package_name [ FORCE ] [ AUTHID { CURRENT_USER | DEFINER } ] { AS | IS } [ < type_declaration > ] [ < variable_declaration > ] [ < cursor_declaration > ] [ < exception_declaration > ] [ < FUNCTION function_name [ ( [ argname [ argmode ] argtype [, ...] ] ) ] { RETURNS | RETURN } rettype ; ] [ PROCEDURE procedure_name [ ( [ argname [ argmode ] argtype [, ...] ] ) ] ; ] [ ... ] END [ package_name ]; 2.79 CREATE PACKAGE BODY CREATE [ OR REPLACE ] PACKAGE BODY package_name { AS | IS } [ < type_declaration > ] [ < variable_declaration > ] [ < cursor_declaration > ] [ < exception_declaration > ] [ FUNCTION function_name 39 第2章 SQL 语句 [ ( [ argname [ argmode ] argtype [ { DEFAULT | := } default_expr ] [, ...] ] ) ] [ { RETURNS | RETURN } rettype ] { AS | IS } [ plsql_block ] ] [ PROCEDURE procedure_name [ ( [ argname [ argmode ] argtype [ { DEFAULT | := } default_expr ] [, ...] ] ) ] { AS | IS } [ plsql_block ] ] [...] [ BEGIN sequence_of_statements ] END [ package_name ]; 2.80 CREATE POLICY CREATE POLICY name ON table_name [ AS { PERMISSIVE | RESTRICTIVE } ] [ FOR { ALL | SELECT | INSERT | UPDATE | DELETE } ] [ TO { role_name | PUBLIC | CURRENT_USER | SESSION_USER } [, ...] ] [ USING ( using_expression ) ] [ WITH CHECK ( check_expression ) ] 2.81 CREATE PROCEDURE CREATE [ OR REPLACE ] [ EDITIONABLE | NONEDITIONABLE ] PROCEDURE ProcedureName [ ( [ < ParameterList > [ , ...n ] ] ) ] [ < invoker_rights_clause > ] [ COMMENT 'String' ] { AS | IS } [ << LabelName >> ] [ DECLARE ] [ < VariableDeclaration > ] [ < CursorDeclaration > ] [ < ExceptionDeclaration > ] 40 第2章 SQL 语句 [ < NestfunctionDeclaration > ] BEGIN < SequenceOfStatements > END [ LabelName ]; < VariableDeclaration > ::= { PlsqlVariable < DataType > } [ ; ... n ] CREATE [ OR REPLACE ] PROCEDURE ProcedureName ([ [, ...n]]) [ COMMENT 'String' ] { LANGUAGE lang_name | TRANSFORM { FOR TYPE type_name } [, ... ] | [] | SET configuration_parameter { TO value | = value | FROM CURRENT } | AS 'definition' | AS 'obj_file', 'link_symbol' } ... ::= { AUTHID CURRENT_USER | AUTHID DEFINER | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER } 2.82 CREATE PUBLICATION CREATE PUBLICATION name [ FOR TABLE [ ONLY ] table_name [ * ] [, ...] | FOR ALL TABLES ] [ WITH ( publication_parameter [= value] [, ... ] ) ] 2.83 CREATE RESOURCE GROUP 41 第2章 SQL 语句 CREATE RESOURCE GROUP group_name WITH (resource_name = value); 2.84 CREATE ROLE CREATE ROLE name [ [ WITH ] option [ ... ] ] option 可以是: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid 2.85 CREATE RULE CREATE [ OR REPLACE ] RULE name AS ON event TO table_name [ WHERE condition ] DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) } 其中 event 可以是以下之一: SELECT | INSERT | UPDATE | DELETE 42 第2章 SQL 语句 2.86 CREATE SCHEMA CREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ] CREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ] CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ] CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role_specification 其中 role_specification 可以是: user_name | CURRENT_USER | SESSION_USER 2.87 CREATE SEQUENCE CREATE [ TEMPORARY | TEMP ] SEQUENCE [ IF NOT EXISTS ] name [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ] [ START [ WITH ] start ] [ CACHE cache ] [ NOCACHE ] [ [ NO ] CYCLE ] [ NOCYCLE ] [ ORDER ] [ NOORDER ] [ OWNED BY { table_name.column_name | NONE } ] 2.88 CREATE SERVER CREATE SERVER [ IF NOT EXISTS ] server_name [ TYPE 'server_type' ] [ VERSION 'server_version' ] FOREIGN DATA WRAPPER fdw_name [ OPTIONS ( option 'value' [, ... ] ) ] 2.89 CREATE STATISTICS CREATE STATISTICS [ IF NOT EXISTS ] statistics_name [ ( statistics_kind [, ... ] ) ] ON column_name, column_name [, ...] FROM table_name 43 第2章 SQL 语句 2.90 CREATE SUBSCRIPTION CREATE SUBSCRIPTION subscription_name CONNECTION 'conninfo' PUBLICATION publication_name [, ...] [ WITH ( subscription_parameter [= value] [, ... ] ) ] 2.91 CREATE SYNONYM 2.92 CREATE TABLE CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name ( [ { column_name data_type [ INVISIBLE | VISIBLE ] [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option ... ] } [, ... ] ] ) [ INHERITS ( parent_table [, ... ] ) ] [ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) [ partition_extented_spec ] ] [ USING method ] [ WITH ( storage_parameter [= value] [, ... ] ) | WITHOUT OIDS | WITH ROWID] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ WITH ( ONCOMMIT = value ) ] [ TABLESPACE tablespace_name ] [ { ENABLE | DISABLE } [ VALIDATE | NOVALIDATE ] constraint [ ... ] ] [ ENCRYPTED [BY tablekey ]] CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name OF type_name [ ( { column_name [ WITH OPTIONS ] [ column_constraint [ ... ] ] | table_constraint } [, ... ] ) ] [ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) [ partition_extented_spec ] ] [ USING method ] 44 第2章 SQL 语句 [ WITH ( storage_parameter [= value] [, ... ] ) | WITHOUT OIDS | WITH ROWID] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ WITH ( ONCOMMIT = value ) ] [ TABLESPACE tablespace_name ] [ ENCRYPTED [BY tablekey ]] CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name PARTITION OF parent_table [ ( { column_name [ WITH OPTIONS ] [ column_constraint [ ... ] ] | table_constraint } [, ... ] ) ] { FOR VALUES partition_bound_spec | DEFAULT } [ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) ] [ USING method ] [ WITH ( storage_parameter [= value] [, ... ] ) | WITHOUT OIDS | WITH ROWID] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ WITH ( ONCOMMIT = value ) ] [ TABLESPACE tablespace_name ] [ ENCRYPTED [BY tablekey ]] 其中 column_constraint 是: [ CONSTRAINT constraint_name ] { NOT NULL | NULL | CHECK ( expression ) [ NO INHERIT ] | DEFAULT default_expr | GENERATED ALWAYS AS ( generation_expr ) STORED | GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( sequence_options ) ] | IDENTITY [ ( NumericOnly , NumericOnly ) ] | UNIQUE index_parameters | PRIMARY KEY index_parameters | REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE referential_action ] [ ON UPDATE referential_action ] [auto_increment] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] [ { ENABLE | DISABLE } [ VALIDATE | NOVALIDATE ] ] table_constraint 是: [ CONSTRAINT constraint_name ] { CHECK ( expression ) [ NO INHERIT ] | 45 第2章 SQL 语句 UNIQUE ( column_name [, ... ] ) index_parameters | PRIMARY KEY ( column_name [, ... ] ) index_parameters | EXCLUDE [ USING index_method ] ( exclude_element WITH operator [, ... ] ) index_parameters [ WHERE ( predicate ) ] | FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE referential_action ] [ ON UPDATE referential_action ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] [ { ENABLE | DISABLE } [ VALIDATE | NOVALIDATE ] ] like_option 是: { INCLUDING | EXCLUDING } { COMMENTS | CONSTRAINTS | DEFAULTS | GENERATED | IDENTITY | INDEXES | STATISTICS | STORAGE | ALL } partition_bound_spec 是: IN ( partition_bound_expr [, ...] ) | FROM ( { partition_bound_expr | MINVALUE | MAXVALUE } [, ...] ) TO ( { partition_bound_expr | MINVALUE | MAXVALUE } [, ...] ) | WITH ( MODULUS numeric_literal, REMAINDER numeric_literal ) UNIQUE、PRIMARY KEY 以及 EXCLUDE 约束中的 index_parameters 是: [ INCLUDE ( column_name [, ... ] ) ] [ WITH ( storage_parameter [= value] [, ... ] ) ] [ USING INDEX TABLESPACE tablespace_name ] 一个 EXCLUDE 约束中的 exclude_element 是: { column_name | ( expression ) } [ opclass ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] 其中 constraint 是: { CONSTRAINT constraint_name | UNIQUE ( column_name [, ... ] ) | PRIMARY KEY } partition_extented_spec 是: [ INTERVAL ( interval_expr ) [ STORE IN ( tablespace_name [, ...]) ]] [ SUBPARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } 46 第2章 SQL 语句 [ COLLATE collation ] [ opclass ] [, ... ] ) [ { hash_subparts_by_quantity | subpartition_template } ] ] [ ( PARTITION partition [partition_bound_spec_ex] [ TABLESPACE tablespace_name ] [ ( SUBPARTITION subpartition [subpartition_bound_spec] [ TABLESPACE tablespace_name ] [, ... ] ) | SUBPARTITIONS numeric_literal [ STORE IN ( tablespace_name [, ... ] ) ] ] [, ... ] ) | PARTITIONS numeric_literal [ STORE IN ( tablespace_name [, ... ] ) ] ] hash_subparts_by_quantity 是: SUBPARTITIONS numeric_literal [ STORE IN ( tablespace_name [, ...] ) ] subpartition_template 是: SUBPARTITION TEMPLATE ( SUBPARTITION [subpartition] [subpartition_bound_spec] [ TABLESPACE tablespace_name ] [, ...] ) partition_bound_spec_ex 是: VALUES LESS THEN ( { partition_bound_expr | MAXVALUE } [, ...] ) | VALUES ( partition_bound_expr [, ...] | DEFAULT ) subpartition_bound_spec 是: VALUES LESS THEN ( { partition_bound_expr | MAXVALUE } [, ...] ) | VALUES ( partition_bound_expr [, ...] | DEFAULT ) MySQL 模式语法 CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name ( [ { column_name data_type [ INVISIBLE | VISIBLE ] [ COLLATE collation ][ON UPDATE special_timestamp_ function] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option ... ] } [, ... ] ] ) [ COMMENT [=] 'String' ] [ INHERITS ( parent_table [, ... ] ) ] [ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) [ partition_extented_spec ] ] [ USING method ] [ WITH ( storage_parameter [= value] [, ... ] ) | WITHOUT OIDS | WITH ROWID] 47 第2章 SQL 语句 [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ WITH ( ONCOMMIT = value ) ] [ TABLESPACE tablespace_name ] [ { ENABLE | DISABLE } [ VALIDATE | NOVALIDATE ] constraint [ ... ] ] [ ENCRYPTED [BY tablekey ]] CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name OF type_name [ ( { column_name [ WITH OPTIONS ][ON UPDATE special_timestamp_function] [ column_constraint [ ... ] ] | table_constraint } [, ... ] ) ] [ COMMENT [=] 'String' ] [ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) [ partition_extented_spec ] ] [ USING method ] [ WITH ( storage_parameter [= value] [, ... ] ) | WITHOUT OIDS | WITH ROWID] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ WITH ( ONCOMMIT = value ) ] [ TABLESPACE tablespace_name ] [ ENCRYPTED [BY tablekey ]] CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name PARTITION OF parent_table [ ( { column_name [ WITH OPTIONS ] [ON UPDATE special_timestamp_function] [ column_constraint [ ... ] ] | table_constraint } [, ... ] ) ] [ COMMENT [=] 'String' ] { FOR VALUES partition_bound_spec | DEFAULT } [ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) ] [ USING method ] [ WITH ( storage_parameter [= value] [, ... ] ) | WITHOUT OIDS | WITH ROWID] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ WITH ( ONCOMMIT = value ) ] [ TABLESPACE tablespace_name ] [ ENCRYPTED [BY tablekey ]] 其中 special_timestamp_function 是: 48 第2章 SQL 语句 CURRENT_TIMESTAMP | CURRENT_TIMESTAMP(precise) | LOCALTIMESTAMP | LOCALTIMESTAMP(precise) | LOCALTIME | LOCALTIME(precise)| NOW(precise) | NOW() 2.93 CREATE TABLE AS CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name [ (column_name [, ...] ) ] [ partition_by_clause ] [ USING method ] [ WITH ( storage_parameter [= value] [, ...] ) | WITHOUT OIDS ] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ TABLESPACE tablespace_name ] AS query [ WITH [ NO ] DATA ] partition_by_clause 是: PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [COLLATE collation ] [ opclass ] [, ...] ) [ partition_extented_spec ] partition_extented_spec 是: [ INTERVAL ( interval_expr ) [ STORE IN ( tablespace_name [, ...]) ]] [ SUBPARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ...] ) [ { hash_subparts_by_quantity | subpartition_template } ] ] [ ( PARTITION partition [partition_bound_spec_ex] [ TABLESPACE tablespace_name ] [ ( SUBPARTITION subpartition [subpartition_bound_spec][ TABLESPACE tablespace_name ][, ...]) | SUBPARTITIONS numeric_literal [ STORE IN ( tablespace_name [, ...] ) ] ] [, ...] ) | PARTITIONS numeric_literal [ STORE IN ( tablespace_name [, ...] ) ] ] hash_subparts_by_quantity 是: SUBPARTITIONS numeric_literal [ STORE IN ( tablespace_name [, ...] ) ] subpartition_template 是: SUBPARTITION TEMPLATE ( SUBPARTITION [subpartition] [subpartition_bound_spec] [ TABLESPACE tablespace_name ][, ...] ) partition_bound_spec_ex 是: 49 第2章 SQL 语句 VALUES LESS THAN ( { partition_bound_expr | MAXVALUE } [, ...] ) | VALUES ( partition_bound_expr [, ...] | DEFAULT ) subpartition_bound_spec 是: VALUES LESS THAN ( { partition_bound_expr | MAXVALUE } [, ...] ) | VALUES ( partition_bound_expr [, ...] | DEFAULT ) 2.94 CREATE TABLESPACE CREATE TABLESPACE tablespace_name [ OWNER { new_owner | CURRENT_USER | SESSION_USER } ] LOCATION 'directory' [ ONLINE | OFFLINE ] [ WITH ( tablespace_option = value [, ... ] ) ] 2.95 CREATE TEXT SEARCH CONFIGURATION CREATE TEXT SEARCH CONFIGURATION name ( PARSER = parser_name | COPY = source_config ) 2.96 CREATE TEXT SEARCH DICTIONARY CREATE TEXT SEARCH DICTIONARY name ( TEMPLATE = template [, option = value [, ... ]] ) 2.97 CREATE TEXT SEARCH PARSER 50 第2章 SQL 语句 CREATE TEXT SEARCH PARSER name ( START = start_function , GETTOKEN = gettoken_function , END = end_function , LEXTYPES = lextypes_function [, HEADLINE = headline_function ] ) 2.98 CREATE TEXT SEARCH TEMPLATE CREATE TEXT SEARCH TEMPLATE name ( [ INIT = init_function , ] LEXIZE = lexize_function ) 2.99 CREATE TRANSFORM CREATE [ OR REPLACE ] TRANSFORM FOR type_name LANGUAGE lang_name ( FROM SQL WITH FUNCTION from_sql_function_name [ (argument_type [, ...]) ], TO SQL WITH FUNCTION to_sql_function_name [ (argument_type [, ...]) ] ); 2.100 CREATE TRIGGER CREATE [ OR REPLACE ] [ EDITIONABLE | NONEDITIONABLE ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] } ON table_name [ FROM referenced_table_name ] [ REFERENCING { { OLD | NEW } [TABLE] [ AS ] { transition_relation_name | referenced_variable_name } [ ... ] ] [ FOR [ EACH ] { ROW | STATEMENT } ] [ WHEN ( condition ) ] { EXECUTE PROCEDURE function_name ( arguments ) | [AS | IS] | CALL function_name ( arguments ) } 51 第2章 SQL 语句 : [{ DECLARE [ variable_declaration ] [ cursor_declaration ] [] }] BEGIN sequence_of_statement END [ label_name ] CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] } ON table_name [ FROM referenced_table_name ] [ NOT DEFERRABLE | [ DEFERRABLE ] [ INITIALLY IMMEDIATE | INITIALLY DEFERRED ] ] [ REFERENCING { { OLD | NEW } TABLE [ AS ] transition_relation_name } [ ... ] ] [ FOR [ EACH ] { ROW | STATEMENT } ] [ WHEN ( condition ) ] EXECUTE { FUNCTION | PROCEDURE } function_name ( arguments ) 这里的 event 可以是下列之一: INSERT UPDATE [ OF column_name [, ... ] ] DELETE TRUNCATE 2.101 CREATE TYPE CREATE TYPE name AS ( [ attribute_name data_type [ COLLATE collation ] [, ... ] ] ) CREATE TYPE name AS ENUM ( [ 'label' [, ... ] ] ) CREATE TYPE name AS RANGE ( SUBTYPE = subtype [ , SUBTYPE_OPCLASS = subtype_operator_class ] [ , COLLATION = collation ] [ , CANONICAL = canonical_function ] [ , SUBTYPE_DIFF = subtype_diff_function ] ) 52 第2章 SQL 语句 CREATE TYPE name AS SET ( [ 'label' [, ... ] ] ) CREATE TYPE name ( INPUT = input_function, OUTPUT = output_function [ , RECEIVE = receive_function ] [ , SEND = send_function ] [ , TYPMOD_IN = type_modifier_input_function ] [ , TYPMOD_OUT = type_modifier_output_function ] [ , ANALYZE = analyze_function ] [ , INTERNALLENGTH = { internallength | VARIABLE } ] [ , PASSEDBYVALUE ] [ , ALIGNMENT = alignment ] [ , STORAGE = storage ] [ , LIKE = like_type ] [ , CATEGORY = category ] [ , PREFERRED = preferred ] [ , DEFAULT = default ] [ , ELEMENT = element ] [ , DELIMITER = delimiter ] [ , COLLATABLE = collatable ] ) CREATE TYPE name CREATE TYPE name AS TABLE OF datatype [NOT NULL] CREATE TYPE name AS VARRAY(size_limit) OF datatype [NOT NULL] CREATE [ OR REPLACE ] TYPE name [ FORCE ] [ AUTHID { CURRENT_USER | DEFINER } ] { AS | IS } OBJECT ( attribute_name data_type [, ... ] {[NOT] {FINAL | INSTANTIABLE}}... [, subprogram_spec [, ... ] ] [, constructor_spec [, ... ] ] [, map_order_function_spec [, ... ] ] ) [ [NOT] { FINAL | INSTANTIABLE } ]... 这里 subprogram_spec 是以下之一: 53 第2章 SQL 语句 { STATIC | MEMBER } FUNCTION function_name [ ( [ argname [ argmode ] argtype [ { DEFAULT | := } default_expr ] [, ...] ] ) ] { RETURNS | RETURN } rettype ] { STATIC | MEMBER } PROCEDURE procedure_name [ ( [ argname [ argmode ] argtype [ { DEFAULT | := } default_expr ] [, ...] ] ) ] constructor_spec 是: [ FINAL ] [ INSTANTIABLE ] CONSTRUCTOR FUNCTION name [ ( [ SELF IN OUT name ] [, argname [ argmode ] argtype [ { DEFAULT | := } default_expr ] [, ...] ] ) ] { RETURNS | RETURN } SELF AS RESULT map_order_function_spec 是: ORDER MEMBER FUNCTION name [ ( [ argname [ argmode ] argtype [ { DEFAULT | := } default_expr ] [, ...] ] ) ] { RETURNS | RETURN } rettype ] 2.102 CREATE TYPE BODY CREATE [ OR REPLACE ] TYPE BODY name { AS | IS } [ { STATIC | MEMBER } FUNCTION function_name [ ( [ argname [ argmode ] argtype [ { DEFAULT | := } default_expr ] [, ...] ] ) ] { RETURNS | RETURN } rettype { AS | IS } plsql_block ] [ { STATIC | MEMBER } PROCEDURE procedure_name [ ( [ argname [ argmode ] argtype [ { DEFAULT | := } default_expr ] [, ...] ] ) ] { AS | IS } plsql_block ] [ CONSTRUCTOR FUNCTION name [ ( [ SELF IN OUT name ] [, argname [ argmode ] argtype [ { DEFAULT | := } default_expr ] [, ...] ] ) ] { RETURNS | RETURN } SELF AS RESULT { AS | IS } [ variable_declaration ] [ cursor_declaration ] [ type_declaration ] [ exception_declaration ] [ nestfunction_declaration ] 54 第2章 SQL 语句 BEGIN sequence_of_statement RETURN ; END; ] [ ... ] END; 2.103 CREATE USER CREATE USER name [ [ WITH ] option [ ... ] ] 这里 option 可以是: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | ACCOUNT { LOCK | UNLOCK } | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid 2.104 CREATE USER MAPPING CREATE USER MAPPING [IF NOT EXISTS] FOR { user_name | USER | CURRENT_USER | PUBLIC } SERVER server_name [ OPTIONS ( option 'value' [ , ... ] ) ] 55 第2章 SQL 语句 2.105 CREATE VIEW CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] [ FORCE ] VIEW name [ ( column_name [, ...] ) ] [ WITH ( view_option_name [= view_option_value] [, ... ] ) ] AS query [ WITH [ CASCADED | LOCAL ] CHECK OPTION | READ ONLY ] 2.106 DEALLOCATE DEALLOCATE [ PREPARE ] { name | ALL } 2.107 DECLARE DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR query 2.108 DELETE [ WITH [ RECURSIVE ] with_query [, ...] ] DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ] | sub_query [alias] [ USING using_list ] [ WHERE condition | WHERE CURRENT OF cursor_name ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ] 2.109 DELETE RESOURCE GROUPE DROP RESOURCE GROUP group_name; 56 第2章 SQL 语句 2.110 DISCARD DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP } 2.111 DO DO [ LANGUAGE lang_name ] code 2.112 DROP ACCESS METHOD DROP ACCESS METHOD [ IF EXISTS ] name [ CASCADE | RESTRICT ] 2.113 DROP AGGREGATE DROP AGGREGATE [ IF EXISTS ] name ( aggregate_signature ) [, ...] [ CASCADE | RESTRICT ] 这里 aggregate_signature 是: * | [ argmode ] [ argname ] argtype [ , ... ] | [ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ] 2.114 DROP CAST DROP CAST [ IF EXISTS ] (source_type AS target_type) [ CASCADE | RESTRICT ] 2.115 DROP COLLATION DROP COLLATION [ IF EXISTS ] name [ CASCADE | RESTRICT ] 57 第2章 SQL 语句 2.116 DROP CONTEXT DROP CONTEXT namespace 2.117 DROP CONVERSION DROP CONVERSION [ IF EXISTS ] name [ CASCADE | RESTRICT ] 2.118 DROP DATABASE DROP DATABASE [ IF EXISTS ] name 2.119 DROP DATABASE LINK DROP DATABASE LINK dblink_name 2.120 DROP DIRECTORY DROP DIRECTORY [ IF EXISTS ] (public.)dir_name 2.121 DROP DOMAIN DROP DOMAIN [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 2.122 DROP EVENT TRIGGER 58 第2章 SQL 语句 DROP EVENT TRIGGER [ IF EXISTS ] name [ CASCADE | RESTRICT ] 2.123 DROP EXTENSION END [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ] 2.124 DROP FOREIGN DATA WRAPPER DROP FOREIGN DATA WRAPPER [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 2.125 DROP FOREIGN TABLE DROP FOREIGN TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 2.126 DROP FUNCTION DROP FUNCTION [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...] [ CASCADE | RESTRICT ] 2.127 DROP GROUP DROP GROUP [ IF EXISTS ] name [, ...] 2.128 DROP INDEX DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 59 第2章 SQL 语句 2.129 DROP LANGUAGE DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name [ CASCADE | RESTRICT ] 2.130 DROP MATERIALIZED VIEW DROP MATERIALIZED VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 2.131 DROP OPERATOR DROP OPERATOR [ IF EXISTS ] name ( { left_type | NONE } , { right_type | NONE } ) [, ...] [ CASCADE | RESTRICT ] 2.132 DROP OPERATOR CLASS DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ] 2.133 DROP OPERATOR FAMILY DROP OPERATOR FAMILY [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ] 2.134 DROP OWNED DROP OWNED BY { name | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ] 60 第2章 SQL 语句 2.135 DROP PACKAGE DROP PACKAGE [ IF EXISTS ] package_names [ CASCADE | RESTRICT ] 2.136 DROP PACKAGE BODY DROP PACKAGE BODY [ IF EXISTS ] package_names; 2.137 DROP POLICY DROP POLICY [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ] 2.138 DROP PROCEDURE DROP PROCEDURE [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...] [ CASCADE | RESTRICT ] 2.139 DROP PUBLICATION DROP PUBLICATION [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 2.140 DROP ROLE DROP ROLE [ IF EXISTS ] name [, ...] 61 第2章 SQL 语句 2.141 DROP ROUTINE DROP ROUTINE [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...] [ CASCADE | RESTRICT ] 2.142 DROP RULE DROP RULE [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ] 2.143 DROP SCHEMA DROP SCHEMA [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 2.144 DROP SEQUENCE DROP SEQUENCE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 2.145 DROP SERVER DROP SERVER [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 2.146 DROP STATISTICS DROP STATISTICS [ IF EXISTS ] name [, ...] 62 第2章 SQL 语句 2.147 DROP SUBSCRIPTION DROP SUBSCRIPTION [ IF EXISTS ] name [ CASCADE | RESTRICT ] 2.148 DROP SYNONYM DROP [ PUBLIC ] SYNONYM [ IF EXISTS ] syn_name [, ...] [ FORCE ] 2.149 DROP TABLE DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | CASCADE CONSTRAINTS | RESTRICT ] [ PURGE ] 2.150 DROP TABLESPACE DROP TABLESPACE [ IF EXISTS ] name 2.151 DROP TRANSFORM DROP TRANSFORM [ IF EXISTS ] FOR type_name LANGUAGE lang_name [ CASCADE | RESTRICT ] 2.152 DROP TEXT SEARCH CONFIGURATION DROP TEXT SEARCH CONFIGURATION [ IF EXISTS ] name [ CASCADE | RESTRICT ] 2.153 DROP TEXT SEARCH DICTIONARY 63 第2章 SQL 语句 DROP TEXT SEARCH DICTIONARY [ IF EXISTS ] name [ CASCADE | RESTRICT ] 2.154 DROP TEXT SEARCH PARSER DROP TEXT SEARCH PARSER [ IF EXISTS ] name [ CASCADE | RESTRICT ] 2.155 DROP TEXT SEARCH TEMPLATE DROP TEXT SEARCH TEMPLATE [ IF EXISTS ] name [ CASCADE | RESTRICT ] 2.156 DROP TRIGGER DROP TRIGGER [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ] DROP TRIGGER name 2.157 DROP TYPE DROP TYPE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT | FORCE | VALIDATE ] 2.158 DROP TYPE BODY DROP TYPE BODY [ IF EXISTS ] name [, ...] 2.159 DROP USER DROP USER [ IF EXISTS ] name [, ...] 64 第2章 SQL 语句 2.160 DROP USER MAPPING 2.161 DROP VIEW DROP VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 2.162 END END [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ] 2.163 EXECUTE EXECUTE name [ ( parameter [, ...] ) ] 2.164 EXPLAIN PLAN EXPLAIN [ ( option [, ...] ) ] statement EXPLAIN [ ANALYZE ] [ VERBOSE ] statement 这里 option 可以是: ANALYZE [ boolean ] VERBOSE [ boolean ] COSTS [ boolean ] SETTINGS [ boolean ] BUFFERS [ boolean ] TIMING [ boolean ] SUMMARY [ boolean ] FORMAT { TEXT | XML | JSON | YAML } 65 第2章 SQL 语句 2.165 FETCH FETCH [ direction [ FROM | IN ] ] cursor_name 其中 direction 可以为空或者以下之一: PRIOR FIRST LAST ABSOLUTE count RELATIVE count count ALL FORWARD FORWARD count FORWARD ALL BACKWARD BACKWARD count BACKWARD ALL 2.166 FLASHBACK TABLE FLASHBACK TABLE table_name TO { [ BEFREO DROP [ RENAME TO newname ] ] | [ { TIMESTAMP | CSN | SCN } asof_item [ { ENABLE | DISABLE } TRIGGERS ] ]} 2.167 GRANT GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER } [, ...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [, ...] ) } ON [ TABLE ] table_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] 66 第2章 SQL 语句 GRANT { { USAGE | SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] } ON { SEQUENCE sequence_name [, ...] | ALL SEQUENCES IN SCHEMA schema_name [, ...] } TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] } ON DATABASE database_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON DOMAIN domain_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON FOREIGN DATA WRAPPER fdw_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON FOREIGN SERVER server_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { { FUNCTION | PROCEDURE | ROUTINE | PACKAGE } routine_name [ ( [ [ argmode ] [arg_name ] arg_type [, ...] ] ) ] [, ...] | ALL { FUNCTIONS | PROCEDURES | ROUTINES } IN SCHEMA schema_name [, ...] } TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON LANGUAGE lang_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { { SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] } ON LARGE OBJECT loid [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { { CREATE | USAGE } [, ...] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] 67 第2章 SQL 语句 GRANT { CREATE | ALL [ PRIVILEGES ] } ON TABLESPACE tablespace_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON TYPE type_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] 其中 role_specification 可以是: [ GROUP ] role_name | PUBLIC | CURRENT_USER | SESSION_USER GRANT role_name [, ...] TO role_name [, ...] [ WITH ADMIN OPTION ] 2.168 INSERT [ WITH [ RECURSIVE ] with_query [, ...] ] INSERT INTO table_name [ [ AS ] alias ] | sub_query [alias] [ ( column_name [, ...] ) ] [ OVERRIDING { SYSTEM | USER} VALUE ] { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query | VALUES record | SET { column_name = { expression | DEFAULT } | ( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) | ( column_name [, ...] ) = ( sub-SELECT ) } [, ...] } [ ON CONFLICT [ conflict_target ] conflict_action ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ] 其中 conflict_target 可以是以下之一: ( { index_column_name | ( index_expression ) } [ COLLATE collation ] [ opclass ] 68 第2章 SQL 语句 [, ...] ) [ WHERE index_predicate ] ON CONSTRAINT constraint_name 并且 conflict_action 是以下之一: DO NOTHING DO UPDATE SET { column_name = { expression | DEFAULT } | ( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) | ( column_name [, ...] ) = ( sub-SELECT ) } [, ...] [ WHERE condition ] 2.169 INSERT ALL FIRST INSERT ALL 可以使用条件表达式,或者不适用条件表达式,INSERT FIRST 必须和 WHEN 条件表达式结合 使用。 其中无条件表达式语法如下: INSERT ALL into_clause [into_clause].. subquery; into_clause ::= INTO [schema.]{table_name|view_name} [t_alias][(column_name [,column_name]..)] [values_clause] INSERT ALL | FIRST 使用条件表达式语法如下: INSERT {ALL|FIRST} condition_clause [condition_clause].. condition_else_clause subquery; into_clause ::= INTO [schema.]{table_name|view_name} [t_alias][(column_name [,column_name]..)] [values_clause] condition_clause ::= WHEN condition_expr THEN into_clause [into_clause].. condition_else_clause ::= [ELSE into_clause [into_clause]..] values_clause ::= 69 第2章 SQL 语句 VALUES ({expre|default}[,{expre|default}]..) 2.170 INSERT ON DUPLICATE INSERT INTO table_name[(col_name_list)] VALUES(value_list)[,(value_list)...] [AS row_alias[col_name_alias]] ON DUPLICATE KEY UPDATE expression[RETURNING col_name_list]; INSERT INTO table_name {SELECT ... | TABLE table_name} ON DUPLICATE KEY UPDATE expression[RETURNING col_ name_list]; INSERT INTO table_name SET col_name = value[,col_name=value...] ON DUPLICATE KEY UPDATE expression [RETURNING col_name_list]; 2.171 LISTEN LISTEN channel 2.172 LOAD LOAD 'filename' 2.173 LOCK LOCK [ TABLE ] [ ONLY ] name [ * ] [, ...] [ IN lockmode MODE ] [ NOWAIT ] 其中 lockmode 可以是以下之一: ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE | SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE 70 第 3 章 函数 3 第 章 函数 函数类似于运算符,因为它们操作数据项并返回结果。函数在参数格式上与运算符不同。这种格式使它们能够对 零个、一个、两个或多个参数进行操作。 函数(参数,参数,...)没有任何参数的函数类似于伪列。但是,伪列通常为结果集中的每一行返回不同的值, 而没有任何参数的函数通常为每一行返回相同的值。 3.1 ABBREV abbrev({inet | cidr}) 3.2 ABS abs (n) 3.3 ACOS acos(n) 3.4 ACOSH acosh(n) 71 第 3 章 函数 3.5 ADDDATE(MySQL 模式) adddate(date,float4) returns date adddate(date,interval) return datetime adddate(datetime,float4) return datetime adddate(datetime,interval) return datetime adddate(timestamp,float4) return timestamp adddate(timestamp,interval) return timestamp adddate(time,float4) return datetime adddate(time,interval) return datetime 3.6 ADDTIME(MySQL 模式) addtime(n1,n2) 3.7 ADD_MONTHS add_months(expr1,expr2) 3.8 AGE age(timestamp, timestamp) age(timestamp) 3.9 APPENDCHILDXML appendchildxml(xml_instance xml, xpath text , value_expr xml) appendchildxml(xml_instance xml, xpath text , value_expr xml,namespace _text) 72 第 3 章 函数 3.10 ARRAY_AGG array_agg(expression) 3.11 ARRAY_APPEND array_append(anyarray, anyelement) 3.12 ARRAY_CAT 用法: array_append(anyarray1, anyarray2) 3.13 ARRAY_DIMS 用法: array_dims(anyarray) 3.14 ARRAY_FILL array_fill(anyelement, int[], int[]) 3.15 ARRAY_LENGTH array_length(anyarray,int) 73 第 3 章 函数 3.16 ARRAY_LOWER array_lower(anyarray, int) 3.17 ARRAY_NDIMS array_ndims(anyarray) 3.18 ARRAY_POSITION array_position(anyarray, anyelement[, int]) 3.19 ARRAY_POSITIONS array_positions(anyarray, anyelement) 3.20 ARRAY_PREPEND array_prepend(anyelement, anyarray) 3.21 ARRAY_REMOVE array_remove(anyarray, anyelement) 3.22 ARRAY_REPLACE 74 第 3 章 函数 array_replace(anyarray, anyelement1, anyelement2) 3.23 ARRAY_TO_JSON array_to_json(anyarray [, pretty_bool]) 3.24 ARRAY_TO_STRING array_to_string(anyarray, text [, text]) 3.25 ARRAY_TO_TSVECTOR array_to_tsvector(text[]) 3.26 ARRAY_UPPER array_upper(anyarray, int) 3.27 ASIN asin(n) 3.28 ASINH asinh(n) 75 第 3 章 函数 3.29 ATAN atan(n) 3.30 ATAN2 atan2(n1, n2) 3.31 ATANH atanh(n) 3.32 AVG avg(expression) 3.33 BFILENAME bfilename('directory','filename') 3.34 BIT_AND bit_and(expression) 3.35 BIT_LENGTH 76 第 3 章 函数 bit_length(string) 3.36 BIT_OR bit_or(expression) 3.37 BITAND bitand(expr1, expr2) 3.38 BITTONUMERIC bittonumeric(expr) 3.39 BLOB_EXPORT blob_export(blob ,string ) 3.40 BLOB_IMPORT blob_import(string ) 3.41 BOOL_AND bool_and(expression) 77 第 3 章 函数 3.42 BOOL_OR bool_or(expression) 3.43 BOUND_BOX bound_box(box, box) 3.44 BOX box(circle) box(point) box(point, point) box(polygon) 3.45 BTRIM btrim(string text [,characters text]) btrim(string bytea, bytes bytea) 3.46 CARDINALITY cardinality(anyarray) 3.47 CAST cast(expression AS target_type) 78 第 3 章 函数 3.48 CBRT cbrt(dp) 3.49 CEIL ceil(n) 3.50 CEILING ceiling({dp|numeric}) ceiling() 3.51 CENTER center(object) 3.52 CHAR_LENGTH char_length(string) 3.53 CHARACTER_LENGTH character_length(string) 79 第 3 章 函数 3.54 CHARINDEX charindex(sub_str varchar, src_str varchar[, start_location int default 1]) 3.55 CHARTOROWID chartorowid(string) 3.56 CHR chr(int) 3.57 CIRCLE circle(box) circle(point ,double precision) circle(polygon) 3.58 CLOB_EXPORT‘ clob_export(clob, string, encode) 3.59 CLOB_IMPORT clob_import(string, encode) 80 第 3 章 函数 3.60 CLOCK_TIMESTAMP clock_timestamp() 3.61 COALESCE COALESCE(value [, ...]) 3.62 COL_DESCRIPTION col_description(table_oid, column_number) 3.63 CONCAT concat(str ”any” [, str ”any” [, ...] ]) 3.64 CONCAT_WS concat_ws(sep text,str ” any” [,str ” any” [, ...]]) 3.65 CONNECTIONS connections() 3.66 CONTAINS 81 第 3 章 函数 contains(expr1 text,expr2 text [,label Numeric]) 3.67 CONVERT convert(string bytea,src_encoding name,dest_encoding name) 3.68 CONVERT(MySQL 模式) convert(expr,type) 3.69 CONVERT_FROM convert_from(string bytea, src_encoding name) 3.70 CONVERT_TO convert_to(string text,dest_encoding name) 3.71 CONVERT_TZ(MySQL 模式) convert_tz(dt,from_tz,to_tz) 3.72 CORR corr(y,x) 82 第 3 章 函数 3.73 COS cos(n) 3.74 COSH cosh(n) 3.75 COT cot(n) 3.76 COUNT count(expr) 3.77 COVAR_POP covar_pop(Y, X) 3.78 COVAR_SAMP covar_samp(Y, X) 3.79 CUME_DIST 83 第 3 章 函数 cume_dist() cume_dist(args) 3.80 CURDATE(MySQL 模式) curDate() 3.81 CURRENT_DATABASE current_database() 3.82 CURRENT_DATE current_date() 3.83 CURRENT_QUERY current_query() 3.84 CURRENT_SCHEMA current_schema() 3.85 CURRENT_SCHEMAS current_schemas(boolean) 84 第 3 章 函数 3.86 CURRENT_SETTING current_setting(setting_name [, missing_ok]) 3.87 CURRENT_TIME current_time(precision) 3.88 CURRENT_TIME(MySQL 模式) current_time(precision) 3.89 CURRENT_TIMESTAMP current_timestamp(precision) 3.90 CURRENT_TIMESTAMP(MySQL 模式) current_timestamp([n]) 3.91 CURRVAL currval(regclass) 3.92 CURSOR_TO_XML 85 第 3 章 函数 cursor_to_xml(cursor refcursor, count int, nulls boolean,tableforest boolean, targetns text) 3.93 CURTIME(MySQL 模式) curtime() 3.94 DATEDIFF(MySQL 模式) datediff(n1,n2) 3.95 DAY(MySQL 模式) day(n) 3.96 DAYNAME(MySQL 模式) dayname(n) 3.97 DAYOFMONTH(MySQL 模式) dayofmonth(n) 3.98 DAYOFWEEK(MySQL 模式) dayofweek(n) 86 第 3 章 函数 3.99 DAYOFYEAR(MySQL 模式) dayofyear(n) 3.100 DATE_PART date_part(text,timestamp) date_part(text, interval) 3.101 DATE_SUB(MySQL 模式) date_sub(n,interval) 3.102 DATE_TRUNC date_trunc(field, source [, time_zone ]) 3.103 DAYS_BETWEEN days_between(date1,date2) 3.104 DECODE decode(expr,search,result,[search,result, ...] default) 87 第 3 章 函数 3.105 DECODING decoding(string text,format text) 3.106 DEGREES degrees(dp) 3.107 DELETEXML deletexml(xml_instance xml, xpath text) deletexml(xml_instance xml, xpath text, namespace _text) 3.108 DENSE_RANK dense_rank() 3.109 DIAMETER diameter(circle) 3.110 DIV div(y numeric, x numeric) 88 第 3 章 函数 3.111 EMPTY_BLOB empty_blob() 3.112 EMPTY_CLOB empty_clob() 3.113 EMPTY_NCLOB empty_nclob() 3.114 ENCODE encode(data bytea,format text) 3.115 ENUM_FIRST enum_first(anyenum) 3.116 ENUM_LAST enum_last(anyenum) 3.117 ENUM_RANGE 89 第 3 章 函数 enum_range(anyenum) enum_range(anyenum, anyenum) 3.118 EVERY every(expression) 3.119 EXISTSNODE existsnode(text PASSING [BY { REF | VALUE }] xml [BY { REF | VALUE }]) existsnode(xml_instance xml, xpath text) 3.120 EXP exp({dp|numeric}) 3.121 EXPORT_SET EXPORT_SET(bits,on,off,separator,number_of_bits) 3.122 EXTRACT EXTRACT(field FROM source) extract(xml_instance xml, xpath text) 90 第 3 章 函数 3.123 EXTRACT(MySQL 模式) extract(unit from source) 3.124 EXTRACTVALUE extractvalue(xml_instance xml, xpath text) extractvalue(xml_instance xml, xpath text, namespace _text) 3.125 FAMILY family(inet) 3.126 FIND_IN_SET FIND_IN_SET(str,strlist) FIND_IN_SET(str,oid) 3.127 FIRST aggregate_function KEEP ( DENSE_RANK FIRST ORDER BY expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] [ , … ] ) [ OVER ( [ query_partition_clause ] ) ] [ FILTER ( WHERE filter_clause ) ] aggregate_function::= MIN | MAX | SUM | AVG | COUNT | VARIANCE | STDDEV query_partition_clause::= PARTITION BY expr [ , … ] 或 PARTITION BY ( expr [ , … ] ) 91 第 3 章 函数 3.128 FIRST_VALUE first_value(value any) 3.129 FLOOR floor(n) 3.130 FORMAT format(formatstr text [, formatarg "any" [, ...] ]) 3.131 FORMAT_PICO_TIME(MySQL 模式) format_pico_time(n) 3.132 FORMAT_TYPE format_type(type_oid, typemod) 3.133 FROM_BASE64(MySQL 模式) from_base64(string text) 3.134 FROM_DAYS(MySQL 模式) 92 第 3 章 函数 from_days(n) 3.135 FROM_UNIXTIME(MySQL 模式) from_unixtime(n [, 'format']) 3.136 GENERATE_SERIES generate_series(start, stop) generate_series(start, stop, step) generate_series(start, stop, step interval) 3.137 GENERATE_SUBSCRIPTS generate_subscripts(array anyarray, dim int) generate_subscripts(array anyarray, dim int, reverse boolean) 3.138 GET_BIT get_bit(string, offset) 3.139 GET_BYTE get_byte(string, offset) 93 第 3 章 函数 3.140 GET_CURRENT_TS_CONFIG get_current_ts_config() 3.141 GET_DISK_INFO get_disk_info(file_path IN TEXT, dev OUT TEXT, mount_point OUT TEXT, size OUT TEXT, used OUT TEXT)) 3.142 GET_FORMAT(MySQL 模式) get_format(date,'format') 3.143 GET_LICENSE_VALIDDAYS get_license_validdays() 3.144 GETUSERNAME getusername() 3.145 GREATEST GREATEST(value [, ...]) 3.146 GROUP_CONCAT 94 第 3 章 函数 GROUP_CONCAT([DISTINCT] col [ORDER BY col ] [SEPARATOR str_val]) 3.147 GROUPING grouping(args...) 3.148 GROUPING_ID grouping_id(args...) 3.149 HAS_ANY_COLUMN_PRIVILEGE has_any_column_privilege(user, table, privilege) has_any_column_privilege(table, privilege) 3.150 HAS_COLUMN_PRIVILEGE has_column_privilege(user, table, column, privilege) has_column_privilege(table,column, privilege) 3.151 HAS_DATABASE_PRIVILEGE has_database_privilege(user, database, privilege) has_database_privilege(database, privilege) 95 第 3 章 函数 3.152 HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE has_foreign_data_wrapper_privilege(user, fdw, privilege) has_foreign_data_wrapper_privilege(fdw, privilege) 3.153 HAS_FUNCTION_PRIVILEGE has_function_privilege(user, function, privilege) has_function_privilege(function, privilege) 3.154 HAS_LANGUAGE_PRIVILEGE has_language_privilege(user, language, privilege) has_language_privilege(language, privilege) 3.155 HAS_SCHEMA_PRIVILEGE has_schema_privilege(user, schema, privilege) has_schema_privilege(schema, privilege) 3.156 HAS_SEQUENCE_PRIVILEGE has_sequence_privilege(user, sequence, privilege) has_sequence_privilege(sequence, privilege) 3.157 HAS_SERVER_PRIVILEGE has_server_privilege(user, server, privilege) has_server_privilege(server, privilege) 96 第 3 章 函数 3.158 HAS_TABLE_PRIVILEGE has_table_privilege(user, table, privilege) has_table_privilege(table,privilege) 3.159 HAS_TABLESPACE_PRIVILEGE has_tablespace_privilege(user, tablespace, privilege) has_tablespace_privilege(tablespace, privilege) 3.160 HAS_TYPE_PRIVILEGE has_type_privilege(user, type, privilege) has_type_privilege(type, privilege) 3.161 HEIGHT height(box) 3.162 HEXTORAW hextoraw(varchar2) 3.163 HOUR(MySQL 模式) hour(n) 97 第 3 章 函数 3.164 HOST host(inet) 3.165 HOSTMASK hostmask(inet) 3.166 IF if(expr1 INT 兼容类型, expr2 任意类型, expr3 任意类型) 3.167 IFNULL ifnull(expr1, expr2) 3.168 INET_CLIENT_ADDR inet_client_addr() 3.169 INET_CLIENT_PORT inet_client_port() 3.170 INET_MERGE 98 第 3 章 函数 inet_merge(inet,inet) 3.171 INET_SAME_FAMILY inet_same_family(inet, inet) 3.172 INET_SERVER_ADDR inet_server_addr() 3.173 INET_SERVER_PORT inet_server_port() 3.174 INITCAP initcap(string) 3.175 INSERTCHILDXML insertchildxml(xml_instance xml, xpath text, child_expr text , value_expr xml) insertchildxml(xml_instance xml, xpath text , child_expr text ,value_expr xml, namespace _text) 3.176 INSERTCHILDXMLAFTER insertchildxmlafter(xml_instance xml, xpath text, child_expr text , value_expr xml) insertchildxmlafter(xml_instance xml, xpath text , child_expr text ,value_expr xml,namespace _text) 99 第 3 章 函数 3.177 INSERTCHILDXMLBEFORE insertchildxmlbefore(xml_instance xml, xpath text, child_expr text , value_expr xml) insertchildxmlbefore(xml_instance xml, xpath text , child_expr text , value_expr xml,namespace _text) 3.178 INSERTXMLAFTER insertxmlafter(xml_instance xml, xpath text , value_expr xml) insertxmlafter(xml_instance xml, xpath text , value_expr xml,namespace _text) 3.179 INSERTXMLBEFORE insertxmlbefore(xml_instance xml, xpath text , value_expr xml) insertxmlbefore(xml_instance xml, xpath text , value_expr xml,namespace _text) 3.180 INSTR instr(expr1 text, expr2 text,[expr3 int[,expr4 int]]) 3.181 INSTRB instrb(expr1 text,expr2 text,[expr3 int[,expr4 int]]) 3.182 ISEMPTY isempty(anyrange) 100 第 3 章 函数 3.183 ISFINITE isfinite(date) isfinite(timestamp) isfinite(interval) 3.184 ISNULL isnull(expr1, expr2) 3.185 ISNULL(MySQL 模式) isnull(expr) 3.186 ISOPEN isopen(path) 3.187 JSON json ( expression [ FORMAT JSON [ ENCODING UTF8 ] ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] [ RETURNING json_data_type ] ) 3.188 JSON_AGG json_agg(expression) 101 第 3 章 函数 3.189 JSON_ARRAY 3.189.1 用法 1 JSON_ARRAY ( [ { value_expression [ FORMAT JSON ] } [, ...] ] [ { NULL | ABSENT } ON NULL ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ] ) 3.189.2 用法 2 JSON_ARRAY ( [ query_expression ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ] ) 3.189.3 用法 3 json [ [ { value_expression [ FORMAT JSON ] } [, ...] ] [ { NULL | ABSENT } ON NULL ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ] ] 3.190 JSON_ARRAY_ELEMENTS json_array_elements(json) 3.191 JSON_ARRAY_ELEMENTS_TEXT json_array_elements_text(json) 102 第 3 章 函数 3.192 JSON_ARRAY_LENGTH json_array_length(json) 3.193 JSON_ARRAYAGG JSON_ARRAYAGG ( [ value_expression ] [ ORDER BY sort_expression ] [ { NULL | ABSENT } ON NULL ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ] ) 3.194 JSON_BUILD_ARRAY json_build_array( VARIADIC "any") 3.195 JSON_BUILD_OBJECT json_build_object( VARIADIC "any") 3.196 JSON_EACH json_each(json) 3.197 JSON_EACH_TEXT json_each_text(json) 103 第 3 章 函数 3.198 JSON_EQUAL json_equal( expr ,expr [{error|false|true} on error ]) 3.199 JSON_EXISTS json_exists( context_item, path_expression [ PASSING { value AS varname }[, ...]] [ RETURNING data_type ] [ { TRUE | FALSE | UNKNOWN | ERROR } ON ERROR ] ) 3.200 JSON_EXTRACT_PATH json_extract_path(from_json json, VARIADIC path_elems text[]) 3.201 JSON_EXTRACT_PATH_TEXT json_extract_path_text(from_json json, VARIADIC path_elems text[]) 3.202 JSON_OBJECT 3.202.1 用法 1 json_object(text[]) 3.202.2 用法 2 104 第 3 章 函数 json_object( keys text[], values text[]) 3.202.3 用法 3 json_object ( [ { key_expression { value | ':' } value_expression [ format json [ encoding utf8 ] ] }[, ...] ] [ { null | absent } on null ] [ returning data_type [ format json [ encoding utf8 ] ] ] [ { with | without } unique [ keys ] ] ) 3.203 JSON_OBJECT_AGG json_object_agg(name, value) 3.204 JSON_OBJECT_KEYS json_object_keys(json) 3.205 JSON_OBJECTAGG 3.205.1 用法 1 json_objectagg( [ { key_expression { VALUE | ':' } value_expression } ] [ { NULL | ABSENT } ON NULL ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ] ) 105 第 3 章 函数 3.205.2 用法 2 json_objectarray( [ { key_expression { VALUE | ':' } value_expression } ] [ { NULL | ABSENT } ON NULL ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] ) 3.206 JSON_POPULATE_RECORD json_populate_record(base anyelement,from_json json) 3.207 JSON_QUERY json_query ( expression [FORMAT JSON [ENCODING UTF8]],JSON_basic_path_expression [ PASSING { value AS varname } [, ...]] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] [ { WITHOUT | WITH { CONDITIONAL | [UNCONDITIONAL] } } [ ARRAY ] WRAPPER ] [ { KEEP | OMIT } QUOTES [ ON SCALAR STRING ] ] [{ERROR|NULL|EMPTY|EMPTY ARRAY|EMPTY OBJECT|DEFAULT expression } ON EMPTY ] [{ERROR|NULL|EMPTY|EMPTY ARRAY|EMPTY OBJECT|DEFAULT expression } ON ERROR ] ) 3.208 JSON_SCALAR json_scalar ( expression [ RETURNING json_data_type ] ) 106 第 3 章 函数 3.209 JSON_SERIALIZE json_serialize ( expression [ FORMAT JSON [ ENCODING UTF8 ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ] ) 3.210 JSON_STRIP_NULLS json_strip_nulls(from_json json) 3.211 JSON_TABLE json_table ( context_item, path_expression [ AS json_path_name ] [ PASSING { value AS varname } [, ...] ] COLUMNS ( json_table_column [, ...] ) [ PLAN ( json_table_plan ) | PLAN DEFAULT ( { INNER | OUTER } [ , { CROSS | UNION } ] | { CROSS | UNION } [ , { INNER | OUTER } ] ) ] [{ERROR | EMPTY} ON ERROR] ) 3.212 JSON_TO_RECORD json_to_record(json) 3.213 JSON_TO_RECORDSET json_to_recordset(json) 107 第 3 章 函数 3.214 JSON_TYPEOF json_typeof(json) 3.215 JSON_VALUE json_value( expression [ format json [ encoding utf8 ] ], json_basic_path_expression [returning json_value_return_type] [{ null|error|default literal} on error] [{ null|error|default literal} on empty] ) 3.216 JSONB_AGG jsonb_agg(expression) 3.217 JSONB_ARRAY_ELEMENTS jsonb_array_elements(jsonb) 3.218 JSONB_ARRAY_ELEMENTS_TEXT jsonb_array_elements_text(jsonb) 3.219 JSONB_ARRAY_LENGTH jsonb_array_length(jsonb) 108 第 3 章 函数 3.220 JSONB_BUILD_ARRAY jsonb_build_array( VARIADIC "any") 3.221 JSONB_BUILD_OBJECT jsonb_build_object( VARIADIC "any") 3.222 JSONB_EACH jsonb_each(jsonb) 3.223 JSONB_EACH_TEXT jsonb_each_text(jsonb) 3.224 JSONB_EXTRACT_PATH jsonb_extract_path(from_json jsonb, VARIADIC path_elems text[]) 3.225 JSONB_EXTRACT_PATH_TEXT jsonb_extract_path(from_json jsonb, VARIADIC path_elems text[]) 3.226 JSONB_INSERT 109 第 3 章 函数 jsonb_insert(target jsonb, path text[], new_value jsonb [, insert_after boolean]) 3.227 JSONB_OBJECT 3.227.1 用法 1 jsonb_object(text[]) 3.227.2 用法 2 jsonb_object( keys text[], values text[]) 3.228 JSONB_OBJECT_AGG jsonb_object_agg(name, value) 3.229 JSONB_OBJECT_KEYS 用法: jsonb_object_keys(jsonb) 3.230 JSONB_PATH_EXISTS jsonb_path_exists(target jsonb, path jsonpath[, vars jsonb [, silent bool]]) 110 第 3 章 函数 3.231 JSONB_PATH_MATCH jsonb_path_match(target jsonb, path jsonpath [, vars jsonb [, silent bool]]) 3.232 JSONB_PATH_QUERY jsonb_path_query(targetjsonb, path jsonpath [, vars jsonb [, silent bool]]) 3.233 JSONB_PATH_QUERY_ARRAY jsonb_path_query_array(target jsonb, path jsonpath[, vars jsonb [, silent bool]]) 3.234 JSONB_PATH_QUERY_FIRST jsonb_path_query_first(targetjsonb, path jsonpath [, vars jsonb [, silent bool]]) 3.235 JSONB_POPULATE_RECORD jsonb_populate_record(base anyelement,from_json jsonb) 3.236 JSONB_POPULATE_RECORDSET jsonb_populate_recordset(base anyelement,from_json jsonb) 3.237 JSONB_PRETTY 111 第 3 章 函数 jsonb_pretty(from_json jsonb) 3.238 JSONB_SET jsonb_set(target jsonb, path text[],new_value jsonb[, create_missing boolean]) 3.239 JSONB_STRIP_NULLS jsonb_strip_nulls(from_json jsonb) 3.240 JSONB_TO_RECORD jsonb_to_record(jsonb) 3.241 JSONB_TO_RECORDSET jsonb_to_recordset(json) 3.242 JSONB_TYPEOF jsonb_typeof(json) 3.243 JUSTIFY_DAYS justify_days(interval) 112 第 3 章 函数 3.244 JUSTIFY_HOURS justify_hours(interval) 3.245 JUSTIFY_INTERVAL justify_interval(interval) 3.246 LAG lag(value anyelement[, offset integer [,default anyelement ]]) 3.247 LAST aggregate_function KEEP ( DENSE_RANK LAST ORDER BY expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] [ , … ] ) [ OVER ( [ query_partition_clause ] ) ] [ FILTER ( WHERE filter_clause ) ] 3.248 LAST_DAY last_day(date date1) 3.249 LAST_VALUE last_value(value any) 113 第 3 章 函数 3.250 LASTVAL lastval() 3.251 LCASE lcase(string) 3.252 LEAD lead(value any, offset integer [, default any]) over ([partition by partition_expression] [order by sort_ expression [ASC|DESC]]) 3.253 LEAST least(value[,...]) 3.254 LEFT left(str text, n int) 3.255 LENGTH length(string) 114 第 3 章 函数 3.256 LENGTHB lengthb(string text ) 3.257 LISTAGG listagg (measure_expr[,’delimiter’]) WITHIN GROUP (order_by_clause) [OVER query_partition_clause] 3.258 LN ln({dp|numeric}) 3.259 LNNVL lnnvl(condition) 3.260 LOCALTIME localtime 3.261 LOCALTIME(MySQL 模式) localtime([n]) 3.262 LOCALTIMESTAMP 115 第 3 章 函数 localtimestamp() 3.263 LOCALTIMESTAMP(MySQL 模式) localtimestamp([n]) 3.264 LOCATE(MySQL 模式) locate(substr, str) locate(substr, str, pos) 3.265 LOG log({dp|numeric}) log(n2 numeric, n1 numeric) 3.266 LOG10 log10({numeric|double}) 3.267 LOWER lower(string) 3.268 LOWER_INC 116 第 3 章 函数 lower_inc(anyrange) 3.269 LOWER_INF lower_inf(anyrange) 3.270 LPAD lpad(string text,length int [, fill text]) 3.271 LSEG lseg(box) lseg(point, point) 3.272 LTRIM ltrim(string text [, characters text]) 3.273 MAKEDATE(MySQL 模式) makedate(year,dayofyear) 3.274 MAKETIME(MySQL 模式) maketime(hour,minute,second) 117 第 3 章 函数 3.275 MAKE_DATE make_date(year int, month int, day int) 3.276 MAKE_INTERVAL make_interval(years int default 0, months int default 0, weeks int default 0, days int default 0, hours int default 0, mins int default 0, secs double default 0.0) 3.277 MAKE_SET(bits,oid) MAKE_SET(bits,oid) 3.278 MAKE_TIME make_time(hour int, min int, sec double) 3.279 MAKE_TIMESTAMP make_timestamp(year int, month int, day int, hour int, min int, sec double) 3.280 MAKE_TIMESTAMPTZ make_timestamptz(year int, month int, day int, hour int, min int, sec double[, timezone text]) 118 第 3 章 函数 3.281 MAX max(expression) 3.282 MD5 md5(string) 3.283 MICROSECOND(MySQL 模式) microsecond(n) 3.284 MID mid(str, pos) mid(str, pos, count) 3.285 MIN min(expression) 3.286 MINUTE(MySQL 模式) minute(n) 119 第 3 章 函数 3.287 MOD mod(y,x) 3.288 MODE mode() WITHIN GROUP (ORDER BY expr [ DESC | ASC | USING operator ] ) [ FILTER ( WHERE filter_clause ) ] OVER ( [ query_partition_clause ] ) 3.289 MONTH(MySQL 模式) month(datetime date) 3.290 MONTH(Oracle 模式) month(n) 3.291 MONTHNAME(MySQL 模式) monthname(n) 3.292 MONTHS_BETWEEN months_between(date date1, date date2) 120 第 3 章 函数 3.293 NANVL nanvl(numeric n1, numeric n2) 3.294 NEW_TIME new_time(str timestamp, zonename1 text, zonename2 text) 3.295 NEXT_DAY next_day(date1 date, weekday text) 3.296 NEXTVAL nextval(regclass) 3.297 NLSSORT nlssort(expr,nls_param) 3.298 NOW now() 3.299 NTH_VALUE 121 第 3 章 函数 nth_value(value any, nth integer) over ([partition by partition_expression] [order by sort_expression [ASC| DESC]]) 3.300 NTILE ntile(num_buckets integer) 3.301 NULLIF nullif(expr1, expr2) 3.302 NUMTODSINTERVAL NUMTODSINTERVAL(n, 'interval_unit') 3.303 NUMTOYMINTERVAL NUMTOYMINTERVAL (n, 'interval_unit') 3.304 NVL nvl(expr1, expr2) 3.305 NVL2 nvl2(expr1,expr2,expr3) 122 第 3 章 函数 3.306 OCTET_LENGTH octet_length(string) 3.307 ORA_HASH ORA_HASH(expr [, max_bucket[,seed_value]]) 3.308 OVERLAY overlay(string placing string from int [for int]) 3.309 PERCENT_RANK • 聚合语法 percent_rank_aggregate: PERCENT_RANK(expr [, expr ]...) WITHIN GROUP (ORDER BY expr [ DESC | ASC ] [NULLS { FIRST | LAST } ] [, expr [ DESC | ASC ] [NULLS { FIRST | LAST } ] ]... ) • 分析语法 percent_rank_analytic: PERCENT_RANK( ) OVER ([ query_partition_clause ] order_by_clause) 123 第 3 章 函数 3.310 PERCENTILE_CONT percentile_cont({fraction | fractions}) WITHIN GROUP (ORDER BY expr [ DESC | ASC | USING operator ] ) [ FILTER ( WHERE filter_clause ) ] OVER ( [ query_partition_clause ] ) query_partition_clause: PARTITION BY expr [ , … ] 或 PARTITION BY ( expr [ , … ] ) 3.311 PERCENTILE_DISC percentile_disc({fraction | fractions}) WITHIN GROUP (ORDER BY expr [ DESC | ASC | USING operator ] ) [ FILTER ( WHERE filter_clause ) ] OVER ( [ query_partition_clause ] ) query_partition_clause: PARTITION BY expr [ , … ] 或 PARTITION BY ( expr [ , … ] ) 3.312 PERIOD_ADD(MySQL 模式) period_add(p,n) 3.313 PERIOD_DIFF(MySQL 模式) period_diff(p,n) 3.314 PI pi() 124 第 3 章 函数 3.315 POSITION position(substring in string) 3.316 POWER power(a dp, b dp) power(a numeric, b numeric) 3.317 QUARTER(MySQL 模式) quarter(n) 3.318 QUERY_TO_XML query_to_xml(query text, nulls boolean, tableforest boolean, targetns text) 3.319 QUOTE_IDENT quote_ident(string text) 3.320 QUOTE_LITERAL quote_literal(string text) 125 第 3 章 函数 3.321 QUOTE_NULLABLE quote_nullable(string text) quote_nullable(value anyelement) 3.322 RADIANS radians(dp) 3.323 RADIUS radius(circle) 3.324 RANGE_MERGE range_merge(anyrange,anyrange) 3.325 RANK • 聚合语法: rank(args) WITHIN GROUP (ORDER BY sorted_args) • 分析语法: rank() OVER ([query_partition_clause] order_by_clause) 3.326 RAND rand() rand(seed int) 126 第 3 章 函数 3.327 RANDOM random() 3.328 RATIO_TO_REPORT ratio_to_report(expr1) over (query_partions_clasue) 3.329 RAWTOHEX rawtohex(raw) 3.330 RAWTONHEX rawtonhex(raw) 3.331 REGEXP_COUNT regexp_count(source_char,pattern [,position [,match_param]]) 3.332 REGEXP_INSTR regexp_instr(source_char,pattern [,position [,occurrence [,return_option [,match_param [,subexpr]]]]]) 3.333 REGEXP_LIKE 127 第 3 章 函数 regexp_like( source, pattern [,match_param]) 3.334 REGEXP_MATCH regexp_match( source, pattern [,match_param]) 3.335 REGEXP_MATCHES regexp_match( source, pattern [,match_param]) 3.336 REGEXP_REPLACE regexp_replace(source, pattern, replacement [, match_param]) 3.337 REGEXP_REPLACE(Oracle 模式) REGEXP_REPLACE (source, pattern, replacement [, position [, occurrence [, flag ] ] ] ) 3.338 REGEXP_SPLIT_TO_ARRAY regexp_split_to_array(source, pattern, [, match_param]) 3.339 REGEXP_SPLIT_TO_TABLE regexp_split_to_table(source, pattern, [, match_param]) 128 第 3 章 函数 3.340 REMAINDER remainder(n1 number, n2 number) 3.341 REPEAT repeat(string text, number int) 3.342 REPLACE replace(string text, from text, to text) 3.343 REVERSE reverse(str) 3.344 RIGHT right(string,count) 3.345 ROUND round(date) round({dp|numeric}) round(v numeric, s int) 129 第 3 章 函数 3.346 ROW_COUNT(MySQL 模式) ROW_COUNT() 3.347 ROW_NUMBER row_number() over([query_partition_clause,] order_by_clause) 3.348 ROW_TO_JSON row_to_json(record [, pretty_bool]) 3.349 RPAD rpad(string text, length int [, fill text]) 3.350 ROWIDTOCHAR rowidtochar(rowid) 3.351 RTRIM rtrim(string text [, characters text]) 3.352 SCALE 130 第 3 章 函数 scale(numeric) 3.353 SCORE SCORE(lable number) 3.354 SECOND(MySQL 模式) second(n) 3.355 SEC_TO_TIME(MySQL 模式) sec_to_time(n) 3.356 SESSION_ID session_id() 3.357 SESSION_USER session_user 3.358 SESSIONTIMEZONE sessiontimezone 131 第 3 章 函数 3.359 SETSEED setseed(dp) 3.360 SETVAL SETVAL(regclass, bigint) 3.361 SETWEIGHT setweight(vector tsvector, weight "char") 3.362 SHA224 sha224(bytea) 3.363 SHA256 sha256(bytea) 3.364 SHA384 sha384(bytea) 3.365 SHA512 132 第 3 章 函数 sha512(bytea) 3.366 SIGN sign({dp|numeric}) 3.367 SIN sin({dp|numeric}) 3.368 SINH sinh({dp|numeric}) 3.369 SPLIT_PART split_part(string text, delimiter text, field int) 3.370 SQRT sqrt(n) 3.371 STATEMENT_TIMESTAMP statement_timestamp() 133 第 3 章 函数 3.372 STDDEV STDDEV ([DISTINCT|ALL] expr) [over (analytic_clause)] 3.373 STDDEV(MySQL 模式) STDDEV (expr) 3.374 STDDEV_POP STDDEV_POP (expr) [over (analytic_clause)] 3.375 STDDEV_SAMP STDDEV_SAMP (expr) [over (analytic_clause)] 3.376 STR_TO_DATE STR_TO_DATE(str,format) 3.377 STR_VALID str_valid(expr1 text, expr2 oid) 3.378 STRING_AGG 134 第 3 章 函数 string_agg(expr1, delimiter) 3.379 STRING_TO_ARRAY STRING_TO_ARRAY(expr1,delimiter [,null_expr]) 3.380 STRIP strip(tsvector) 3.381 STRPOS strpos(expr1,expr2) 3.382 SUBSTR [ SUBSTR |SUBSTRB |SUBSTRC |SUBSTR2 |SUBSTR4 ] ( char , position [, substring_length] ) 3.383 SUBSTRB [ SUBSTR |SUBSTRB |SUBSTRC |SUBSTR2 |SUBSTR4 ] ( char , position [, substring_length] ) 3.384 SUBSTRING substring(string [from int] [for int]) 135 第 3 章 函数 3.385 SUBSTRING_INDEX(MySQL 模式) substring_index(str,delimiter,count) 3.386 SUBTIME(MySQL 模式) subtime(n1,n2) 3.387 SUM sum(expression) 3.388 SYS_BACKEND_PID sys_backend_pid() 3.389 SYS_CANCEL_BACKEND sys_cancel_backend(pid int) 3.390 SYS_COLUMN_SIZE sys_column_size(any) 3.391 SYS_CONTEXT 136 第 3 章 函数 sys_context(namespace text, parameter text, length int default 256) 3.392 SYS_DATABASE_SIZE sys_database_size({oid|name}) 3.393 SYS_EVENT_TRIGGER_DDL_COMMANDS sys_event_trigger_ddl_commands() 3.394 SYS_EVENT_TRIGGER_DROPPED_OBJECTS sys_event_trigger_dropped_objects() 3.395 SYS_EVENT_TRIGGER_TABLE_REWRITE_OID sys_event_trigger_table_rewrite_oid() 3.396 SYS_EVENT_TRIGGER_TABLE_REWRITE_REA sys_event_trigger_table_rewrite_reason() 3.397 SYS_STAT_FILE sys_stat_file(filename text[, missing_ok boolean]) 137 第 3 章 函数 3.398 SYS_READ_BINARY_FILE sys_read_binary_file(filename text [, offset bigint, length bigint [, missing_ok boolean] ]) 3.399 SYS_READ_FILE sys_read_file(filename text [, offset bigint, length bigint [, missing_ok boolean] ]) 3.400 SYS_TERMINATE_BACKEND sys_terminate_backend(pid int) 3.401 SYS_TOTAL_RELATION_SIZE sys_total_relation_size (oid bigint) 3.402 SYS_FUNCTION_IS_VISIBLE sys_function_is_visible(function_oid) 3.403 SYS_GET_CONSTRAINTDEF sys_get_constraintdef(constraint_oid) sys_get_constraintdef(constraint_oid, pretty_bool) 138 第 3 章 函数 3.404 SYS_GET_EXPR sys_get_expr(sys_node_tree, relation_oid) sys_get_expr(sys_node_tree, relation_oid, pretty_bool) 3.405 SYS_GET_FUNCTION_ARGUMENTS sys_get_function_arguments(func_oid) 3.406 SYS_GET_FUNCTION_IDENTITY_ARGUMENTS sys_get_function_identity_arguments (func_oid) 3.407 SYS_GET_FUNCTION_RESULT sys_get_function_result(func_oid) 3.408 SYS_GET_FUNCTIONDEF sys_get_functiondef(func_oid) 3.409 SYS_GET_INDEXDEF sys_get_indexdef(index_oid) sys_get_indexdef(index_oid, column_no, pretty_bool) 139 第 3 章 函数 3.410 SYS_GET_KEYWORDS sys_get_keywords() 3.411 SYS_GET_OBJECT_ADDRESS sys_get_object_address(type text, name text[], args text[]) 3.412 SYS_GET_RULEDEF sys_get_ruledef(rule_oid) sys_get_ruledef(rule_oid, pretty_bool) 3.413 SYS_GET_SERIAL_SEQUENCE sys_get_serial_sequence(table_name, column_name) 3.414 SYS_GET_STATISTICSOBJDEF sys_get_statisticsobjdef(statobj_oid) 3.415 SYS_GET_TRIGGERDEF sys_get_triggerdef(trigger_oid) sys_get_triggerdef(trigger_oid, pretty_bool) 140 第 3 章 函数 3.416 SYS_GET_USERBYID sys_get_userbyid(role_oid) 3.417 SYS_GET_VIEWDEF sys_get_viewdef(view_name) sys_get_viewdef(view_name, pretty_bool) sys_get_viewdef(view_oid) sys_get_viewdef(view_oid, pretty_bool) sys_get_viewdef(view_oid, wrap_column_int) 3.418 SYS_GUID sys_guid() 3.419 SYS_HAS_ROLE sys_has_role(user, role, privilege) sys_has_role(role, privilege) 3.420 SYS_IDENTIFY_OBJECT sys_identify_object(catalog_id oid, object_id oid, object_sub_id integer) 141 第 3 章 函数 3.421 SYS_IDENTIFY_OBJECT_AS_ADDRESS sys_identify_object_as_address(catalog_id oid, object_id oid, object_sub_id integer) 3.422 SYS_INDEXES_SIZE sys_indexes_size(regclass) 3.423 SYS_KINGBASE_START_TIME sys_kingbase_start_time() 3.424 SYS_LS_DIR sys_ls_dir(dirname text [, missing_ok boolean, include_dot_dirs boolean]) 3.425 SYS_LS_LOGDIR sys_ls_logdir() 3.426 SYS_LS_TMPDIR sys_ls_tmpdir() 3.427 SYS_LS_WALDIR 142 第 3 章 函数 sys_ls_waldir() 3.428 SYS_RELATION_FILENODE sys_relation_filenode(relation regclass) 3.429 SYS_RELATION_FILEPATH sys_relation_filepath(relation regclass) 3.430 SYS_RELATION_SIZE sys_relation_size(relation regclass, fork text) sys_relation_size(relation regclass) 3.431 SYS_RELOAD_CONF sys_reload_conf() 3.432 SYS_SIZE_BYTES sys_size_bytes(text) 3.433 SYS_SIZE_PRETTY sys_size_pretty(bigint) sys_size_pretty(numeric) 143 第 3 章 函数 3.434 SYS_SLEEP sys_sleep(seconds) 3.435 SYS_SLEEP_FOR sys_sleep_for(interval) 3.436 SYS_SLEEP_UNTIL sys_sleep_until(timestamp with time zone) 3.437 SYS_TABLE_IS_VISIBLE sys_table_is_visible(table_oid) 3.438 SYS_TABLE_SIZE sys_table_size(regclass) 3.439 SYS_TABLESPACE_DATABASES sys_tablespace_databases(tablespace_oid) 3.440 SYS_TABLESPACE_LOCATION 144 第 3 章 函数 sys_tablespace_location(tablespace_oid) 3.441 SYS_TABLESPACE_SIZE sys_tablespace_size(tablespace_oid) 3.442 SYSDATE SYSDATE() 3.443 TABLE_TO_XML table_to_xml(tbl regclass, nulls boolean, tableforest boolean, targetns text) 3.444 TAN tan(n) 3.445 TANH tanh(n) 3.446 TIME(MySQL 模式) time(n) 145 第 3 章 函数 3.447 TIMEDIFF(MySQL 模式) timediff(n1,n2) 3.448 TIMESTAMP(MySQL 模式) timestamp(n1 [, n2]) 3.449 TIMESTAMPADD(MySQL 模式) timestampadd('unit',interval,n) 3.450 TIMESTAMPDIFF(MySQL 模式) timestampdiff('unit',n1,n2) 3.451 TIME_FORMAT time_format(time,format) 3.452 TIME_TO_SEC(MySQL 模式) TIME_TO_SEC() 3.453 TIMEOFDAY 146 第 3 章 函数 TIMEOFDAY() 3.454 TIMESUB TIMESUB(head, tail) 3.455 TO_ASCII to_ascii(string text [, encoding text]) 3.456 TO_BASE64(MySQL 模式) to_base64(string text) 3.457 TO_BINARY_DOUBLE to_binary_double( varchar|numeric ) 3.458 TO_BLOB to_blob(raw) 3.459 TO_CHAR 3.459.1 TO_CHAR(bfile|blob) 147 第 3 章 函数 TO_CHAR( { bfile | blob } [, csid ] ) 3.459.2 TO_CHAR(character) TO_CHAR( nchar | clob | nclob ) 3.459.3 TO_CHAR(datetime) TO_CHAR( { datetime | interval } [, fmt [, 'nlsparam'] ] ) 3.459.4 TO_CHAR(number) TO_CHAR( n [, fmt [, 'nlsparam'] ] ) 3.460 TO_DATE TO_DATE(char [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ]) 3.461 TO_DATETIME to_datetime(datetimetxt, fmt) to_datetime(datetimetxt) 3.462 TO_DAYS(MySQL 模式) to_days(n) 148 第 3 章 函数 3.463 TO_DSINTERVAL TO_DSINTERVAL ( ' { sql_format | ds_iso_format } ' [ DEFAULT return_value ON CONVERSION ERROR ] ) sql_format::= [+ | -] days hours : minutes : seconds [. frac_secs ] ds_iso_format::= [-] P [days D] [T [hours H] [minutes M] [seconds [. frac_secs] S ] ] 3.464 TO_HEX to_hex(number int or bigint) 3.465 TO_JSON to_json(anyelement) 3.466 TO_JSONB to_jsonb(anyelement) 3.467 TO_MULTI_BYTE to_multi_byte(str) 149 第 3 章 函数 3.468 TO_NUMBER TO_NUMBER(expr [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ]) 3.469 TO_SECONDS(MySQL 模式) to_seconds(n) 3.470 TO_SINGLE_BYTE to_single_byte(str) 3.471 TO_TIMESTAMP to_timestamp (double precision ) 3.472 TO_TIMESTAMP_TZ to_timestamp_tz(double precision ) 3.473 TO_YMINTERVAL ( ' { [+|-] years - months | ym_iso_format } ' [ DEFAULT return_value ON CONVERSION ERROR ] ) ym_iso_format::= [-] P [ years Y ] [months M] [days D] [T [hours H] [minutes M] [seconds [. frac_secs] S ] ] 150 第 3 章 函数 3.474 TRANSACTION_TIMESTAMP TRANSACTION_TIMESTAMP() 3.475 TRANSLATE TRANSLATE(expr, from_string, to_string) 3.476 TRIM TRIM([ { { LEADING | TRAILING | BOTH } [ trim_character ] | trim_character } FROM ] trim_source ) 3.477 TRUNC 3.477.1 TRUNC(date) TRUNC(date [, fmt ]) 3.477.2 TRUNC(number) TRUNC(n1 [, n2 ]) 3.477.3 TRUNC(text) trunc(text [, int]) 151 第 3 章 函数 3.478 UCASE ucase(string) 3.479 UNICODE UNICODE(character_expression) 3.480 UNIX_TIMESTAMP(MySQL 模式) select unix_timestamp; select unix_timestamp(); select unix_timestamp(date); select unix_timestamp(timestamp); select unix_timestamp(time); select unix_timestamp(integer); select unix_timestamp(bigint); select unix_timestamp(numeric); select unix_timestamp(text); 3.481 UNNEST UNNEST( array_expression [, ... ] ) [WITH ORDINALITY] [[AS] table_alias [(column_alias [, ... ])]] 3.482 UPDATEXML updatexml(xml_instance xml, xpath text, value_expr xml) updatexml(xml_instance xml, xpath text, value_expr text) updatexml(xml_instance xml, xpath text, value_expr text, namespace text) 152 第 3 章 函数 3.483 UPPER upper(char) 3.484 USER USER 3.485 USERENV USERENV('parameter') 3.486 UTC_DATE(MySQL 模式) utc_date() 3.487 UTC_TIME(MySQL 模式) utc_time([n]) 3.488 UTC_TIMESTAMP(MySQL 模式) utc_timestamp([n]) 3.489 VALUE 153 第 3 章 函数 value(x record) 3.490 VAR_POP var_pop(expression) 3.491 VAR_SAMP var_samp(expression) 3.492 VARIANCE variance([distinct | all] expr) [over (analytic_clause)] 3.493 VARIANCE(MySQL 模式) VARIANCE(expr) 3.494 VERSION VERSION 3.495 WEEK(MySQL 模式) week(n [, mode]) 154 第 3 章 函数 3.496 WEEKDAY(MySQL 模式) weekday(n) 3.497 WEEKOFYEAR(MySQL 模式) weekofyear(n) 3.498 WM_CONCAT wm_concat(column) 3.499 XML_IS_WELL_FORMED xml_is_well_formed(text) 3.500 XML_IS_WELL_FORMED_DOCUMENT xml_is_well_formed_document(text) 3.501 XML_IS_WELL_FORMED_CONTENT xml_is_well_formed_content(text) 3.502 XMLAGG 155 第 3 章 函数 XMLAGG(XMLType_instance [order_by_clause]) 3.503 XMLCOMMENT XMLCOMMENT(values_expr) 3.504 XMLCONCAT XMLCONCAT(XMLType_instance [,...]) 3.505 XMLELEMENT XMLELEMENT([{ENTITYESCAPING|NOENTITYESCAPING}] {[NAME] identifier|EVALNAME value_expr} [, XML_attributes_ clause] [,value_expr [[AS] c_alias]][,...]) XML_attributes_clause: XML_ATTRIBUTES( [{ENTITYESCAPING|NOENTITYESCAPING}] [{SCHEMACHECK|NOSCHEMACHECK}] value [{[AS] c_alias| AS EVALINAME value_expr}] ) 3.506 XMLEXISTS XMLEXISTS(XQuery_string [XML_passing_clause]) XML_passing_clause::= PASSING [ BY VALUE ] expr [AS identifier] [, ... ] 3.507 XMLFOREST XMLFOREST(value_expr [as {c_alias|EVALINAME value_expr]}][,...]) 156 第 3 章 函数 3.508 XMLPARSE XMLPARSE({DOCUMENT|CONTENT} value_expr [WELLFORMED]) 3.509 XMLPI XMLPI({[NAME]idenfitier|EVALNAME value_expr} [, value_expr]) 3.510 XMLROOT XMLROOT(value_expr,VERSION {value_expr| NO VALUE} [,STANDALONE {YES|NO|NO VALUE}]) 3.511 XMLSEQUENCE XMLSEQUENCE(xml_instance xml) 3.512 XMLSERIALIZE XMLSERIALIZE({DOCUMENT|CONTENT} value_expr [AS datatype][ENCODING xml_encoding_spec][VERSION string_literal] [{NO INDENT|INDENT[SIZE=number]}] [{HIDE|SHOW} DEFAULTS]) 3.513 XMLTABLE XMLTABLE([XML_namespaces_clause,] XQuery_string XMLTABLE_option) XMLnamespaces_clause::= XMLNAMESPACES({[string AS identifier|DEFAULT sting]}[,...]) XMLTABLE_options::= 157 第 3 章 函数 [XML_passing_clause][RETURNING SEQUENCE BY REF][COLUMN XML_table_column [,...]] XML_passing_clause::= PASSING [BY VALUE] (expr [ as indentifier ])[,...] XML_table_column::= column {FOR ORDINALITY|{datatype|XMLTYPE[(SEQUNCE) BY REF ]}[PATH string][DEFALUT]} 3.514 XPATH xpath(xpath, xml [, nsarray]) 3.515 XPATH_EXISTS xpath_exists(xpath, xml [, nsarray]) 3.516 YEAR year(text) 3.517 YEARWEEK(MySQL 模式) yearweek(n [, mode]) 158 第4章 表达式 4 第 章 表达式 4.1 简单表达式 ‘ { [ query_name. | [schema.] { table. | view. | materialized view. } | t_alias. ] { column | ROWID } | ROWNUM | string | number | sequence. { CURRVAL | NEXTVAL } | NULL } 4.2 复合表达式 { (expr) | { + | - | PRIOR } expr | expr { * | / | + | - | || } expr | expr COLLATE collation_name } 4.3 CASE 表达式 case_expression: case_expression ::= CASE ( 'simple_case_expression' | 'searched_case_expression' ) ( 'else_clause' )? END 159 第4章 simple_case_expression::= expr ( WHEN 'comparison_expr' THEN 'return_expr' )+ searched_case_expression ::= else_clause ::= 表达式 ( WHEN 'condition' THEN 'return_expr' )+ ELSE 'else_expr' 4.4 列表达式 4.5 日期时间表达式 expr AT { LOCAL | TIME ZONE { ' [ + | - ] hh:mi' | SESSIONTIMEZONE | 'time_zone_name' | expr } } 4.6 函数表达式 LENGTH('BLAKE') ROUND(1234.567*43) SYSDATE 4.7 占位符表达式 placeholder_expression : :host_variable [ [ INDICATOR ] :indicator_variable ] 160 第4章 4.8 标量子查询表达式 4.9 类型构造表达式 表达式 type_constructor_expression : [ NEW ] [ schema. ]type_name ([ expr [, expr ]... ]) 4.10 表达式列表 { expr [, expr ]... | ( [expr [, expr ]] ...) } 4.11 伪列 4.11.1 ROWNUM 伪列 161 第 5 章 条件表达式 5 第 章 条件表达式 条件表达式指定一个或多个表达式和逻辑(布尔)运算符的组合,并返回 TRUE、FALSE 或 UNKNOWN。 5.1 SQL 条件简介 { comparison_condition | floating_point_condition | logical_condition | pattern_matching_condition | null_condition | JSON_condition | BETWEEN_condition | compound_condition | exists_condition | in_condition } 5.2 比较条件 • 条件类型:=,作用:相等检验。 • 条件类型:!= ^= <>,作用:不等检验。 • 条件类型:>< ,作用:大于和小于比较。 • 条件类型:>=<=,作用:大于或等于和小于或等于比较。 • op ANY,op SOME • op ALL 162 第 5 章 条件表达式 • 简单比较条件 • 组比较条件 5.3 浮点条件 expr IS [ NOT ] { NAN | INFINITE } 5.4 逻辑条件 逻辑条件将两个组件条件的结果组合起来,以生成基于它们的单个结果,或反转单个条件的结果。 5.5 模式匹配条件 模式匹配表达式比较字符函数。 • LIKE Condition • REGEXP_LIKE 条件 5.6 空条件 null_condition: expr IS [ NOT ] NULL 5.7 SQL/JSON 条件 expr IS [NOT] JSON [ { VALUE | SCALAR | ARRAY | OBJECT } ] [STRICT | LAX][{WITH | WITHOUT} UNIQUE KEYS ] IS JSON Condition(PG 模式) 163 第 5 章 条件表达式 expr IS [ NOT ] JSON [ { VALUE | SCALAR | ARRAY | OBJECT } ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] JSON_EQUAL JSON_EQUAL(expr, expr [{ TRUE | FALSE 5.8 | ERROR } ON ERROR]) 复合条件 { (condition) | NOT condition | condition { AND | OR } condition } 5.9 BETWEEN 条件 expr1 [ NOT ] BETWEEN expr2 AND expr3 5.10 EXISTS 条件 EXISTS (subquery) 5.11 IN 条件 { expr [ NOT ] IN ({ expression_list | subquery }) | ( expr [, expr ]... ) [ NOT ] IN ({ expression_list [, expression_list ]... | subquery } ) } 164 第 6 章 常见 DDL 子句 6 第 章 常见 DDL 子句 本文档描述了出现在 SQL 语句中的一些常用数据定义子句。 6.1 约束子句 SQL 允许我们在列和表上定义约束。约束让我们能够根据我们的愿望来控制表中的数据。如果一个用户试图在 一个列中保存违反一个约束的数据,一个错误会被抛出。 约束子句通常出现在以下语句中: CREATE TABLE ALTER TABLE CREATE VIEW ALTER VIEW 常见约束子句的类型有: NOT NULL NULL CHECK ( expression ) [ NO INHERIT ] UNIQUE (列约束) UNIQUE ( column_name [, ... ] ) [ INCLUDE ( column_name [, ...]) ] (表约束) PRIMARY KEY (列约束) PRIMARY KEY ( column_name [, ... ] ) [ INCLUDE ( column_name [, ...]) ] (表约束) EXCLUDE [ USING index_method ] ( exclude_element WITH operator [, ... ] ) index_parameters [ WHERE ( predicate ) ] REFERENCES reftable [ ( refcolumn ) ] [ MATCH matchtype ] [ ON DELETE referential_action ] [ ON UPDATE referential_action ] (列约束) 165 第 6 章 常见 DDL 子句 FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ] [ MATCH matchtype ] [ ON DELETE referential_action ] [ ON UPDATE referential_action ] (表约束) DEFERRABLE | NOT DEFERRABLE INITIALLY IMMEDIATE | INITIALLY DEFERRED ENABLE VALIDATE/NOVALIDATE | DISABLE NOVALIDATE/VALIDATE 6.2 LOG 子句 LOG 子句允许数据库指定对表的操作是否记录到 WAL 日志中。 LOG 子句通常出现在以下语句中: CREATE/ALTER TABLE 常见 LOG 子句的类型有: LOGGED UNLOGGED 6.3 存储子句 存储子句允许指定数据库存储相关参数,存储参数会影响访问存储在数据库中的数据所需要的时间,以及数据库 空间的使用效率。 存储子句通常出现在以下语句中: CREATE/ALTER TABLE CREATE/ALTER INDEX CREATE/ALTER MATERIALIZED VIEW 常见存储子句的类型有: fillfactor (integer) toast_tuple_target (integer) autovacuum_enabled, toast.autovacuum_enabled (boolean) vacuum_index_cleanup, toast.vacuum_index_cleanup (boolean) vacuum_truncate, toast.vacuum_truncate (boolean) autovacuum_vacuum_threshold, toast.autovacuum_vacuum_threshold (integer) autovacuum_vacuum_scale_factor, toast.autovacuum_vacuum_scale_factor (float4) 166 第 6 章 常见 DDL 子句 autovacuum_analyze_threshold (integer) autovacuum_analyze_scale_factor (float4) autovacuum_vacuum_cost_delay, toast.autovacuum_vacuum_cost_delay (floating point) autovacuum_vacuum_cost_limit, toast.autovacuum_vacuum_cost_limit (integer) autovacuum_freeze_min_age, toast.autovacuum_freeze_min_age (integer) autovacuum_freeze_max_age, toast.autovacuum_freeze_max_age (integer) autovacuum_freeze_table_age, toast.autovacuum_freeze_table_age (integer) autovacuum_multixact_freeze_min_age, toast.autovacuum_multixact_freeze_min_age (integer) autovacuum_multixact_freeze_max_age, toast.autovacuum_multixact_freeze_max_age (integer) autovacuum_multixact_freeze_table_age, toast.autovacuum_multixact_freeze_table_age (integer) log_autovacuum_min_duration, toast.log_autovacuum_min_duration (integer) user_catalog_table (boolean) WITH ( storage_parameter [ = value ] [, ... ] ) alloc_space_for_null (boolean) template_alloc_space_for_null (boolean) 167 第7章 7 第 章 KINGBASEES SQL 数据类型 KingbaseES SQL 数据类型 KingbaseES 数据库操作的每个值都有其数据类型。数据类型具有特定的属性,因此对不同数据类型的值 KingbaseES 处理是不同的。 KingbaseES 数据库提供了许多内置数据类型,和用户自定义类型。 7.1 KingbaseES 内置数据类型 7.1.1 字符数据类型 字符数据类型存储字符(字母数字)数据,包括单词和自由格式文本,以数据库字符集或国际字符集形式存储。 比其他数据类型的限制少,具有较少的属性。例如,字符列可以存储所有字母数字值,但数值列只能存储数值。 字符数据存储在字符串中,其字节值与建库时指定的字符集对应,如 7 位 ASCII 或 EBCDIC。KingbaseES 数据 库支持单字节和多字节字符集。 7.1.1.1 character[(n [char | byte])] 数据类型 character[(n [char | byte])] 7.1.1.2 character varying[(n [char | byte])] 数据类型 character varying[(n [char | byte])] 7.1.1.3 TEXT 数据类型 168 第7章 KINGBASEES SQL 数据类型 TEXT 7.1.1.4 LONGTEXT 数据类型 LONGTEXT 7.1.1.5 MEDIUMTEXT 数据类型 MEDIUMTEXT 7.1.1.6 TINYTEXT 数据类型 TINYTEXT 7.1.2 数值类型 数值类型存储正、负定点及浮点数、零、Infinity、-Infinity 以及 NaN。由 2、4 或 8 字节的整数以及 4 或 8 字 节的浮点数和可选精度小数组成。 7.1.2.1 整数类型 存储有符号整数,即没有小数部分的数值。 KingbaseES 整数类型包括 tinyint、smallint、integer(或 int)和 bigint 。 7.1.2.1.1 TINYINT 数据类型 TINYINT 7.1.2.1.2 SMALLINT 数据类型 SMALLINT 169 第7章 KINGBASEES SQL 数据类型 7.1.2.1.3 MEDIUMINT/MIDDLEINT/INT3 MEDIUMINT/MIDDLEINT/INT3 7.1.2.1.4 INTEGER 数据类型 INTEGER 7.1.2.1.5 BIGINT 数据类型 BIGINT 7.1.2.2 精确数值数据类型 7.1.2.2.1 NUMERIC 数据类型 NUMERIC(precision, scale) 7.1.2.2.2 DECIMAL 数据类型 DECIMAL(precision, scale) 7.1.2.2.3 NUMBER 数据类型 与 NUMERIC 相同。 7.1.2.3 浮点类型 real 和 double precision 是近似数值类型,以近似的形式存储的,因此存储和检索一个值可能出现一些偏差。 7.1.2.3.1 REAL 类型 REAL 7.1.2.3.2 DOUBLE PRECISION 类型 170 第7章 KINGBASEES SQL 数据类型 DOUBLE PRECISION[(精度)] 7.1.2.3.3 FLOAT 类型 FLOAT 或 FLOAT(p) 7.1.2.4 浮点数 浮点数可以从第一个到最后一个数字的任何位置有一个小数点,也可以根本没有小数点。可以选择在数字后面使 用指数来增加范围。KingbaseES 为浮点数提供两种数字数据类型。 7.1.2.4.1 BINARY_FLOAT 类型 REAL 7.1.2.4.2 BINARY_DOUBLE 类型 REAL 7.1.2.5 序数类型 smallserial、serial 和 bigserial 类型不是真正的类型,它们只是为了创建唯一标识符列而存在的方便符号(类似 其它一些数据库中支持的 AUTO_INCREMENT 属性)。这是 KingbaseES 特有的创建一个自增列的方法。 7.1.2.5.1 SMALLSERIAL 类型 SMALLSERIAL 7.1.2.5.2 SERIAL 类型 SERIAL 7.1.2.5.3 BIGSERIAL 类型 BIGSERIAL 171 第7章 7.1.3 KINGBASEES SQL 数据类型 货币类型 MONEY 7.1.4 日期/时间类型 日期时间数据类型为 date、timestamp[ ( p ) ] [ without time zone ]、timestamp[ ( p ) ] with time zone、timestamp[ ( p ) ] with local time zone、time [ ( p ) ] [ without time zone ]、time [ ( p ) ] with time zone、time、year。 间隔数据类型为 interval [field] [to] [field] [(fp)]、yminterval [field][(lp)] [to] [field]、 dsinterval [field][(lp)] [to] [field] [(fp)]。 7.1.4.1 DATE DATE 7.1.4.2 TIME 时间类型包括 time [ (p) ] without time zone 和 time [ (p) ] with time zone。 7.1.4.2.1 time [ (p) ] with time zone 类型 time [ (p) ] with time zone 7.1.4.2.2 time [ (p) ] without time zone 类型 time [ (p) ] without time zone 7.1.4.2.3 time 类型 time 7.1.4.3 TIMESTAMP 数据类型 TIMESTAMP 数据类型包含日期和时间部分。包括标准时区类型 timestamp[ (p)] [ without time zone ]、timestamp[ (p) ] with time zone 和本地时类型 timestamp[ (p)] with local time zone。 172 第7章 KINGBASEES SQL 数据类型 7.1.4.3.1 timestamp[ (p)] [ without time zone ] 类型 timestamp[ (p)] [ without time zone ] 7.1.4.3.2 timestamp[ (p)] with time zone 类型 timestamp[ (p)] with time zone 7.1.4.3.3 timestamp[ (p)] with local time zone 类型 timestamp[ (p)] with local time zone 7.1.4.4 DATETIME 数据类型 DATETIME 数据类型仅在 MySQL 模式下支持,是 Date 和 Time 的组合,表示某个时刻,通常以’YYYY-MMDD hh:mm:ss’ 表示。 7.1.4.5 INTERVAL 数据类型 interval[(fp)] interval[(fp)] 'expr' interval opt_field interval 'expr' opt_field interval ymfield1[(lp)] to ymfield2 interval 'expr' ymfield1[(lp)] to ymfield2 interval dsfield1[(lp)] to dsfield2[(fp)] interval 'expr' dsfield1[(lp)] to dsfield2[(fp)] [@] quantity unit [quantity unit...] [direction] P quantity unit [ quantity unit ...] [ T [ quantity unit ...]] P [ years-months-days ] [ T hours:minutes:seconds ] 173 第7章 KINGBASEES SQL 数据类型 7.1.4.6 YEAR 类型 year 7.1.5 大对象数据类型 内置 LOB 数据类型 BLOB、CLOB、NCLOB 可以存储大型非结构化数据,如文本、图像、视频和空间数据。 7.1.5.1 BLOB 类型 BLOB 7.1.5.2 CLOB 类型 CLOB 7.1.5.3 NCLOB 类型 NCLOB 7.1.5.4 BYTEA 类型 BYTEA 7.1.5.5 RAW 类型 RAW [(n)] 7.1.5.6 LONG RAW 类型 LONG RAW 174 第7章 7.1.6 KINGBASEES SQL 数据类型 布尔类型 BOOLEAN 7.1.7 位串类型 位串就是一串 1 和 0 的串。 KingbaseES 支持 select b’’和 select x’’语法,兼容 MySQL 二进制语法。 7.1.7.1 BIT 类型 BIT[(n)] 7.1.7.2 BIT VAYRING 类型 BIT VAYRING(n) 7.1.7.3 BINARY 类型 binary[(n)] 7.1.7.4 VARBINARY 类型 varbinary(n) 7.1.8 几何类型 几何数据类型表示二维的空间物体。下表展示了 KingbaseES 中可以用的几何类型。 7.1.8.1 点 ( x , y ) x , y 175 第7章 7.1.8.2 KINGBASEES SQL 数据类型 线 { A, B, C } 另外,还可以用下列任一形式输入: [ ( x1 , y1 ) , ( x2 , y2 ) ] ( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1 , y1 7.1.8.3 , x2 , y2 线段 线段用一对线段的端点来表示。lseg 类型的值用下面的语法声明: [ ( x1 , y1 ) , ( x2 , y2 ) ] ( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1 , y1 7.1.8.4 , x2 , y2 方框 方框用其对角的点对表示。box 类型的值使用下面的语法指定: ( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1 , y1 7.1.8.5 , x2 , y2 路径 路径由一系列连接的点组成。路径可能是开放的,也就是认为列表中第一个点和最后一个点没有被连接起来;也 可能是封闭的,这时认为第一个和最后一个点被连接起来。 path 类型的值用下面的语法声明: [ ( x1 , y1 ) , ... , ( xn , yn ) ] ( ( x1 , y1 ) , ... , ( xn , yn ) ) ( x1 , y1 ) , ... , ( xn , yn ) ( x1 , y1 , ... , xn , yn ) x1 , y1 , ... , xn , yn 176 第7章 KINGBASEES SQL 数据类型 多边形 7.1.8.6 多边形由一系列点代表(多边形的顶点)。多边形和封闭路径很像,但是存储方式不一样而且有自己的一套支持 例程。 polygon 类型的值用下列语法声明: ( ( x1 , y1 ) , ... , ( xn , yn ) ) ( x1 , y1 ) , ... , ( xn , yn ) ( x1 , y1 , ... , xn , yn ) x1 , y1 , ... , xn , yn 7.1.8.7 圆 圆由一个圆心和一个半径代表。circle 类型的值用下面的语法指定: < ( x , y ) , r > ( ( x , y ) , r ) ( x , y ) , r x , y 7.1.9 , r 网络地址类型 KingbaseES 提供存储 IPv4、IPv6 和 MAC 地址的数据类型。 7.1.9.1 inet inet 在一个数据域里保存一个 IPv4 或 IPv6 主机地址,以及一个可选的它的子网。 7.1.9.2 cidr cidr 类型保存 IPv4 或 IPv6 网络地址声明。 7.1.9.3 inet-vs.-cidr inet 和 cidr 类型之间的本质区别是 inet 接受右边有非零位的网络掩码,而 cidr 不接受。例如,192.168. 0.1/24 对 inet 是有效的,但对 cidr 是无效的。 177 第7章 KINGBASEES SQL 数据类型 7.1.9.4 macaddr macaddr 类型存储 MAC 地址,即以太网卡硬件地址(MAC 地址还用于其它用途)。可以接受下列格式的输 入: 7.1.9.5 macaddr8 macaddr8 类型以 EUI-64 格式存储 MAC 地址,例如以太网卡的硬件地址(尽管 MAC 地址也被用于其他目 的)。 7.1.10 文本搜索类型 KingbaseES 提供两种数据类型,它们被设计用来支持全文搜索,全文搜索是一种在自然语言的文档集合中搜索 以定位那些最匹配一个查询的文档的活动。 7.1.10.1 tsvector 一个 tsvector 值是一个排序的可区分词位的列表,词位是被正规化合并了同一个词的不同变种的词。 7.1.10.2 tsquery 一个 tsquery 值存储要用于搜索的词位,并且使用布尔操作符 &(AND)、|(OR)和!(NOT)来组合它 们,还有短语搜索操作符<->(FOLLOWED BY)。 7.1.11 UUID 类型 KingbaseES 为 UUID 提供了存储和比较函数,但是核心数据库不包含任何用于产生 UUID 的函数。 7.1.12 XML 类型 XML 数据类型可以被用来存储 XML 数据。 要从字符数据中生成一个 XML 类型的值,可以使用函数 xmlparse: XMLPARSE ( { DOCUMENT | CONTENT } value) 7.1.13 JSON 类型 根据RFC 7159 中的说明,JSON 数据类型是用来存储 JSON(JavaScript Object Notation)数据的。 178 第7章 7.1.14 KINGBASEES SQL 数据类型 范围类型 范围类型是表达某种元素类型(称为范围的 subtype)的一个值的范围的数据类型。 KingbaseES 带有下列内建范围类型: • int4range —integer 的范围 • int8range —bigint 的范围 • numrange —numeric 的范围 • tsrange —不带时区的 timestamp 的范围 • tstzrange —带时区的 timestamp 的范围 • daterange —date 的范围 此外,还可以自定义范围类型,详见 CREATE TYPE 。 7.2 域类型 域是一种用户定义的数据类型,它基于另一种底层类型。 更多信息请参考 CREATE DOMAIN 。 7.2.1 对象标识符类型 对象标识符(OID)被 KingbaseES 用来在内部作为多个系统表的主键。 7.2.2 sys_lsn 类型 sys_lsn 数据类型可以被用来存储 LSN(日志序列号)数据,LSN 是一个指向 WAL 中的位置的指针。 7.2.3 伪类型 KingbaseES 类型系统包含了一些特殊目的的项,它们被统称为伪类型。 7.3 用户自定义类型 用户自定义的数据类型由 KingbaseES 内置数据类型和其他用户自定义数据类型构成,用户自定义类型对应用程 序中数据的结构和行为进行建模。 179 第7章 KINGBASEES SQL 数据类型 7.3.1 :ref: 枚举类型 枚举(enum)类型是由一个静态、值的有序集合构成的数据类型。与很多编程语言所支持的 enum 类型相似。 7.3.2 SET 类型 SET 类型是可以具有 0 到 64 个值的自定义类型,每个值都必须在定义时指定的值列表中选取。 7.3.3 集合类型 集合类型包括三种具体的类型:关联数组(AssociativeArray)、嵌套表(Nested Table)和可变数组(Varray)。 7.3.3.1 嵌套表 嵌套表给定数据连续的索引,并从 1 开始。使用这些索引,用户可以访问各个嵌套表数据。 7.3.3.2 可变数组 可变数组的下标索引类型为 INT 并且从 1 开始。与嵌套表不同,可变数组在定义的时候需要指定最大元素个 数,使用中不能超过该限制。 7.3.4 组合类型 一个组合类型表示一行或一个记录的结构,它本质上就是一个域名和它们数据类型的列表。KingbaseES 允许把 组合类型用在很多能用简单类型的地方。 7.3.5 对象类型 对象类型和组合类型在定义和使用上都有很多相似性,可以认为对象类型是组合类型的增强。 详细的创建规则和说明可参见 CREATE TYPE 和 CREATE TYPE BODY 。 7.3.6 数组 KingbaseES 允许一个表中的列定义为变长多维数组。可以创建任何内建或用户定义的基类、枚举类型、组合类 型或者域的数组。 180 第7章 KINGBASEES SQL 数据类型 7.4 Rowid 数据类型 7.4.1 ROWID 数据类型 KES 的 ROWS 在数据库中存在逻辑上的唯一标识(并非物理地址)通过 ROWID 类型的数据进行表示。 7.4.2 UROWID 数据类型 UROWID 支持可变长度定义,可以通过 UROWID(XX) 的方式指定 UROWID 的精度。 具体使用可参考 字符数据类型中的 VARCHAR 类型。 181 第8章 8 第 章 KSQL 命令 Ksql 命令 本章按字母顺序列出的 Ksql 命令的描述。 a ``\a`` c ``\c`` or ``\connect [ -reuse-previous=on|off`` ] [ ``dbname`` [ ``username`` ] [ ``host`` ] [ ``port`` ] \| ``conninfo`` ] C ``\C [ title`` ] directory ``\cd [ directory`` ] conninfo ``\conninfo`` copy command ``\copy { table`` [ ( ``column_list`` ) ] \| ( ``query`` ) } { ``from`` \| ``to`` } { ``'filename'`` \| program ``'command'`` \| stdin \| stdout \| pstdin \| pstdout } [ [ with ] ( ``option`` [, ...] ) ] copyright ``\copyright`` crosstabview 182 第8章 KSQL 命令 ``\crosstabview [ colV`` [ ``colH`` [ ``colD`` [ ``sortcolH`` ] ] ] ] d[S+] ``\d[S+] [ pattern`` ] da[S] ``\da[S] [ pattern`` ] dA[+] ``\dA[+] [ pattern`` ] db[+] ``\db[+] [ pattern`` ] dc[S+] ``\dc[S+] [ pattern`` ] dC[+] ``\dC[+] [ pattern`` ] dd[S] ``\dd[S] [ pattern`` ] dD[S+] ``\dD[S+] [ pattern`` ] ddp ``\ddp [ pattern`` ] dE ``\dE[S+] [ pattern`` ] \di[S+] [ pattern ] \dm[S+] [ pattern ] \ds[S+] [ pattern ] \dt[S+] [ pattern ] \dv[S+] [ pattern ] des[+] 183 第8章 KSQL 命令 ``\des[+] [ pattern`` ] det[+] ``\det[+] [ pattern`` ] deu[+] ``\deu[+] [ pattern`` ] dew[+] ``\dew[+] [ pattern`` ] df ``\df[anptwS+] [ pattern`` ] dF ``\dF[+] [ pattern`` ] dFd ``\dFd[+] [ pattern`` ] dFp ``\dFp[+] [ pattern`` ] dFt ``\dFt[+] [ pattern`` ] dg ``\dg[S+] [ pattern`` ] dl ``\dl`` dL ``\dL[S+] [ pattern`` ] dn 184 第8章 KSQL 命令 ``\dn[S+] [ pattern`` ] do[S+] ``\do[S+] [ pattern`` ] dO[S+] ``\dO[S+] [ pattern`` ] dp ``\dp [ pattern`` ] dP ``\dP[itn+] [ pattern`` ] drds ``\drds [ role-pattern`` [\ ``database-pattern`` ] ] dRp ``\dRp[+] [ pattern`` ] dRs ``\dRs[+] [ pattern`` ] dT ``\dT[S+] [ pattern`` ] du ``\du[S+] [ pattern`` ] dx ``\dx[+] [ pattern`` ] dy ``\dy[+] [ pattern`` ] e 185 第8章 KSQL 命令 ``\e``\ 或\ ``\edit`` ``[ filename`` ] [ ``line_number`` ] echo text ``\echo text`` [ ... ] ef ``\ef [ function_description`` [ ``line_number`` ] ] encoding ``\encoding [ encoding`` ] errverbose ``\errverbose`` ev ``\ev [ view_name`` [ ``line_number`` ] ] f ``\f [ string`` ] g ``\g [ filename`` ] \g [ |command ] gdesc ``\gdesc`` gexec ``\gexec`` gset ``\gset [ prefix`` ] gx 186 第8章 KSQL 命令 ``\gx [ filename`` ] \gx [ |command ] h ``\h`` or ``\help`` ``[ command`` ] H ``\H`` or ``\html`` i ``\i`` or ``\include`` ``filename`` if ``\if`` ``expression`` \elif expression \else \endif ir ``\ir`` or ``\include_relative`` ``filename`` l ``\l[+]`` or ``\list[+] [ pattern`` ] lo_export ``\lo_export loid`` ``filename`` lo_import ``\lo_import filename`` [ ``comment`` ] lo_list ``\lo_list`` lo_unlink ``\lo_unlink loid`` o 187 第8章 KSQL 命令 ``\o`` or ``\out [ filename`` ] \o or \out [ |command ] p ``\p`` or ``\print`` password ``\password [ username`` ] prompt ``\prompt [ text`` ] ``name`` pset ``\pset [ option`` [ ``value`` ] ] q ``\q`` or ``\quit`` qecho text ``\qecho text`` [ ... ] r ``\r`` or ``\reset`` s ``\s [ filename`` ] set name ``\set [ name`` [ ``value`` [ ... ] ] ] setenv name ``\setenv name`` [ ``value`` ] sf 188 第8章 KSQL 命令 ``\sf[+] function_description`` sv ``\sv[+] view_name`` t ``\t`` T ``\T table_options`` timing ``\timing [ on`` \| ``off`` ] unset name ``\unset name`` w ``\w`` or ``\write`` ``filename`` \w or \write |command watch ``\watch [ seconds`` ] x ``\x [ on`` \| ``off`` \| ``auto`` ] z ``\z [ pattern`` ] ``\! [ command`` ] ? ``\? [ topic`` ] 反斜线分号 189 第8章 KSQL 命令 ``\;`` 190 版权声明 版权声明 北京人大金仓信息技术股份有限公司(简称:人大金仓)版权所有,并保留对本手册及本声明的一切权利。 未得到人大金仓的书面许可,任何人不得以任何方式或形式对本手册内的任何部分进行复制、摘录、备份、修 改、传播、翻译成其他语言、将其全部或部分用于商业用途。 免责声明 本手册内容依据现有信息制作,由于产品版本升级或其他原因,其内容有可能变更。人大金仓保留在没有任何通 知或者提示的情况下对手册内容进行修改的权利。 本手册仅作为使用指导,人大金仓在编写本手册时已尽力保证其内容准确可靠,但并不确保手册内容完全没有错 误或遗漏,本手册中的所有信息也不构成任何明示或暗示的担保。 技术支持 • 人大金仓官方网站:http://www.kingbase.com.cn/ • 人大金仓文档中心:http://help.kingbase.com.cn/ • 全国服务热线:400-601-1188 • 人大金仓技术支持与反馈信箱:support@kingbase.com.cn 191 服务周期承诺 服务周期承诺 由于市场需求在不断变化,技术创新和发展的进程不断加剧,产品的版本更迭不可避免。人大金仓对于产品版本 生命周期的有效管理,有助于您提前规划项目,更好地从产品服务终止上过渡。 表 1: KingbaseES 产品生命周期里程碑 关键里程碑点 定义 产品发布日期 产品正式发布版本,即 GA(general availability)版本的发布日期。 停止销售日期 正式停止销售的日期,版本停止接受订单日。该日之后,产品将不再销售。 停止功能升级日期 在该日期之后,不再提供新特性和新硬件支持。但依旧提供错误修复、安全修复、功 能维护等服务。 停止功能维护日期 在该日期之后,不再维护功能,修复问题。但依旧提供安全修复等服务 停止安全维护日期 在该日期之后,不再发布补丁版本修复中高风险漏洞,仅提供有限的支持。 产品服务终止日期 停止提供产品服务和支持的日期。包括软件维护版本,缺陷修复,以及针对该产品的 所有服务支持(包括服务热线和远程/现场支持)。 服务周期策略 金仓数据库管理系统 KingbaseES 产品确保以下的服务周期: 1)产品自发布之日起至产品停止功能升级(包含新特性、新硬件支持)之日不少于 5 年。 2)产品停止功能升级之日起至产品停止功能维护(主要包括问题修复)之日不少于 4 年。 3)产品功能维护停止之日起至产品停止安全维护(包括中高风险漏洞修复)之日不少于 2 年。 服务终止策略 金仓数据库管理系统 KingbaseES 产品确保在销售后,至少提供 6 年的服务支持。 注意: 人大金仓将会综合各方因素来确定产品服务终止日期。并将在实际产品服务终止日期之前至少 90 天,通过公 192 服务周期承诺 开方式宣布产品服务终止日期。 193

相关文章