The following content of this documentation page has been machine-translated. But unlike other websites, it is not done on the fly. This translated text lives on GitHub repository alongside main ClickHouse codebase and waits for fellow native speakers to make it more human-readable.

    Ansi Sql兼容性的ClickHouse SQL方言

    下表列出了查询功能在ClickHouse中有效但不符合ANSI SQL标准的情况。

    功能匹配

    Feature ID功能名称匹配评论
    E011数字数据类型部分
    E011-01整型和小型数据类型
    E011-02真实、双精度和浮点数据类型数据类型部分FLOAT(<binary_precision>), REALDOUBLE PRECISION 不支持
    E011-03十进制和数值数据类型部分只有 DECIMAL(p,s) 支持,而不是 NUMERIC
    E011-04算术运算符
    E011-05数字比较
    E011-06数字数据类型之间的隐式转换否。ANSI SQL允许在数值类型之间进行任意隐式转换,而ClickHouse依赖于具有多个重载的函数而不是隐式转换
    E021字符串类型部分
    E021-01字符数据类型否。
    E021-02字符变化数据类型否。String 行为类似,但括号中没有长度限制
    E021-03字符文字部分不自动连接连续文字和字符集支持
    E021-04字符长度函数部分非也。 USING 条款
    E021-05OCTET_LENGTH函数非也。LENGTH 表现类似
    E021-06SUBSTRING部分不支持 SIMILARESCAPE 条款,否 SUBSTRING_REGEX 备选案文
    E021-07字符串联部分非也。 条款
    E021-08上下功能
    E021-09修剪功能
    E021-10固定长度和可变长度字符串类型之间的隐式转换否。ANSI SQL允许在字符串类型之间进行任意隐式转换,而ClickHouse依赖于具有多个重载的函数而不是隐式转换
    E021-11职位功能部分不支持 INUSING 条款,否 POSITION_REGEX 备选案文
    E021-12字符比较
    E031标识符部分
    E031-01分隔标识符部分Unicode文字支持有限
    E031-02小写标识符
    E031-03尾部下划线
    E051基本查询规范部分
    E051-01SELECT DISTINCT
    E051-02GROUP BY子句
    E051-04分组依据可以包含不在列 <select list>
    E051-05选择项目可以重命名
    E051-06有条款
    E051-07合格*在选择列表中
    E051-08FROM子句中的关联名称
    E051-09重命名FROM子句中的列否。
    E061基本谓词和搜索条件部分
    E061-01比较谓词
    E061-02谓词之间部分非也。 SYMMETRICASYMMETRIC 条款
    E061-03在具有值列表的谓词中
    E061-04像谓词
    E061-05LIKE谓词:逃避条款否。
    E061-06空谓词
    E061-07量化比较谓词非也。
    E061-08存在谓词非也。
    E061-09比较谓词中的子查询
    E061-11谓词中的子查询
    E061-12量化比较谓词中的子查询否。
    E061-13相关子查询否。
    E061-14搜索条件
    E071基本查询表达式部分
    E071-01UNION DISTINCT table运算符否。
    E071-02联合所有表运算符
    E071-03除了不同的表运算符非也。
    E071-05通过表运算符组合的列不必具有完全相同的数据类型
    E071-06子查询中的表运算符
    E081基本特权部分正在进行的工作
    E091设置函数
    E091-01AVG
    E091-02COUNT
    E091-03MAX
    E091-04MIN
    E091-05SUM
    E091-06全部量词否。
    E091-07不同的量词部分并非所有聚合函数都受支持
    E101基本数据操作部分
    E101-01插入语句注:ClickHouse中的主键并不意味着 UNIQUE 约束
    E101-03搜索更新语句否。有一个 ALTER UPDATE 批量数据修改语句
    E101-04搜索的删除语句否。有一个 ALTER DELETE 批量数据删除声明
    E111单行SELECT语句否。
    E121基本光标支持否。
    E121-01DECLARE CURSOR否。
    E121-02按列排序不需要在选择列表中否。
    E121-03按顺序排列的值表达式否。
    E121-04公开声明否。
    E121-06定位更新语句否。
    E121-07定位删除语句否。
    E121-08关闭声明否。
    E121-10FETCH语句:隐式NEXT否。
    E121-17使用保持游标否。
    E131空值支持(空值代替值)部分一些限制适用
    E141基本完整性约束部分
    E141-01非空约束注: NOT NULL 默认情况下,表列隐含
    E141-02非空列的唯一约束否。
    E141-03主键约束否。
    E141-04对于引用删除操作和引用更新操作,具有默认无操作的基本外键约束否。
    E141-06检查约束
    E141-07列默认值
    E141-08在主键上推断为非NULL
    E141-10可以按任何顺序指定外键中的名称否。
    E151交易支持否。
    E151-01提交语句否。
    E151-02回滚语句否。
    E152基本设置事务语句否。
    E152-01SET TRANSACTION语句:隔离级别SERIALIZABLE子句否。
    E152-02SET TRANSACTION语句:只读和读写子句否。
    E153具有子查询的可更新查询否。
    E161SQL注释使用前导双减
    E171SQLSTATE支持否。
    E182主机语言绑定否。
    F031基本架构操作部分
    F031-01CREATE TABLE语句创建持久基表部分否。 SYSTEM VERSIONING, ON COMMIT, GLOBAL, , PRESERVE, DELETE, REF IS, WITH OPTIONS, UNDER, LIKE, PERIOD FOR 子句,不支持用户解析的数据类型
    F031-02创建视图语句部分否。 RECURSIVE, CHECK, UNDER, WITH OPTIONS 子句,不支持用户解析的数据类型
    F031-03赠款声明
    F031-04ALTER TABLE语句:ADD COLUMN子句部分不支持 GENERATED 条款和系统时间段
    F031-13DROP TABLE语句:RESTRICT子句否。
    F031-16DROP VIEW语句:RESTRICT子句否。
    F031-19REVOKE语句:RESTRICT子句否。
    F041基本连接表部分
    F041-01Inner join(但不一定是INNER关键字)
    F041-02内部关键字
    F041-03LEFT OUTER JOIN
    F041-04RIGHT OUTER JOIN
    F041-05可以嵌套外部连接
    F041-07左侧或右侧外部联接中的内部表也可用于内部联接
    F041-08支持所有比较运算符(而不仅仅是=)否。
    F051基本日期和时间部分
    F051-01日期数据类型(包括对日期文字的支持)部分没有文字
    F051-02时间数据类型(包括对时间文字的支持),秒小数精度至少为0否。
    F051-03时间戳数据类型(包括对时间戳文字的支持),小数秒精度至少为0和6否。DateTime64 时间提供了类似的功能
    F051-04日期、时间和时间戳数据类型的比较谓词部分只有一种数据类型可用
    F051-05Datetime类型和字符串类型之间的显式转换
    F051-06CURRENT_DATE否。 是相似的
    F051-07LOCALTIME否。now() 是相似的
    F051-08LOCALTIMESTAMP否。
    F081联盟和视图除外部分
    F131分组操作部分
    F131-01WHERE、GROUP BY和HAVING子句在具有分组视图的查询中受支持
    F131-02具有分组视图的查询中支持的多个表
    F131-03设置具有分组视图的查询中支持的函数
    F131-04具有分组依据和具有子句和分组视图的子查询
    F131-05单行选择具有GROUP BY和具有子句和分组视图非也。
    F181多模块支持否。
    F201投函数
    F221显式默认值否。
    F261案例表达式
    F261-01简单案例
    F261-02检索案例
    F261-03NULLIF
    F261-04COALESCE
    F311架构定义语句部分
    F311-01CREATE SCHEMA否。
    F311-02为持久基表创建表
    F311-03CREATE VIEW
    F311-04CREATE VIEW: WITH CHECK OPTION否。
    F311-05赠款声明
    F471标量子查询值
    F481扩展空谓词
    F812基本标记否。
    T321基本的SQL调用例程否。
    T321-01无重载的用户定义函数否。
    T321-02无重载的用户定义存储过程否。
    T321-03函数调用否。
    T321-04电话声明否。
    T321-05退货声明否。
    T631在一个列表元素的谓词中