ClickHouse SQLの方言のANSI SQLの互換性 

行動の違い 

次の表は、ClickHouseでクエリ機能が機能しますが、ANSI SQLで指定されているように動作しないケースを示しています。

Feature ID機能名違い
E011数値データ型数値リテラルと期間として解釈される近似 (Float64)の代わりに正確な (Decimal)
E051-05選択した項目の名前を変更できますアイテムの名前変更は、選択結果だけよりも可視性の範囲が広くなります
E141-01NULLでない制約NOT NULL は黙示のためのテーブル列によるデフォルト
E011-04算術演算子ClickHouse溢れの代わりに次の算術演算の結果のデータ型に基づくカスタムルール

機能の状態 

Feature ID機能名状態コメント
E011数値データ型部分的
E011-01整数およびSMALLINTデータ型はい。
E011-02実数、倍精度および浮動小数点データ型データ型部分的FLOAT(<binary_precision>), REALDOUBLE PRECISION 対応していません
E011-03DECIMALおよびNUMERICデータ型部分的のみ DECIMAL(p,s) サポートされています。 NUMERIC
E011-04算術演算子はい。
E011-05数値比較はい。
E011-06数値データ型間の暗黙的なキャストいいえ。ANSI SQLできる任意の暗黙的な数値型の間のキャストがClickHouseに依存しての機能を有する複数の過負荷の代わりに暗黙的なキャスト
E021文字列タイプ部分的
E021-01文字データ型いいえ。
E021-02文字変化型データ型いいえ。String 動作同様に、長さの制限内
E021-03文字リテラル部分的連続したリテラルと文字セットの自動連結はサポートされません
E021-04CHARACTER_LENGTH関数部分的いいえ。 USING
E021-05OCTET_LENGTH関数いいえ。LENGTH 同様に動作します
E021-06SUBSTRING部分的サポートなし SIMILARESCAPE 句、ない SUBSTRING_REGEX バリアント
E021-07文字の連結部分的いいえ。 COLLATE
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-09FROM句の列の名前を変更しますいいえ。
E061基本的な述語と検索条件部分的
E061-01比較述語はい。
E061-02述語の間部分的いいえ。 SYMMETRICASYMMETRIC
E061-03値のリストを持つ述語ではい。
E061-04述語のようにはい。
E061-05LIKE述語:エスケープ句いいえ。
E061-06Null述語はい。
E061-07定量化された比較述語いいえ。
E061-08存在する述語いいえ。
E061-09比較述語のサブクエリはい。
E061-11In述語のサブクエリはい。
E061-12定量化された比較述語のサブクエリいいえ。
E061-13相関サブクエリいいえ。
E061-14検索条件はい。
E071基本的なクエリ式部分的
E071-01UNION DISTINCTテーブル演算子いいえ。
E071-02UNION ALLテーブル演算子はい。
E071-03DISTINCTテーブル演算子を除くいいえ。
E071-05列の結合経由でテーブル事業者の必要のない全く同じデータ型はい。
E071-06サブクエリ内のテーブル演算子はい。
E081基本権限部分的進行中の作業
E091関数の設定はい。
E091-01AVGはい。
E091-02COUNTはい。
E091-03MAXはい。
E091-04MINはい。
E091-05SUMはい。
E091-06すべての量指定子いいえ。
E091-07異なる量指定子部分的な集計機能に対応
E101基本的なデータ操作部分的
E101-01INSERT文はい。注:ClickHouseの主キーは、 UNIQUE 制約
E101-03検索されたUPDATE文いいえ。そこには ALTER UPDATE バッチデータ変更のための命令
E101-04検索されたDELETE文いいえ。そこには ALTER DELETE バッチデータ削除のための命令
E111単一行SELECTステートメントいいえ。
E121基本的にカーソルを支援いいえ。
E121-01DECLARE CURSORいいえ。
E121-02ORDER BY列を選択リストに含める必要はありませんいいえ。
E121-03ORDER BY句の値式いいえ。
E121-04開いた声明いいえ。
E121-06位置付きUPDATE文いいえ。
E121-07位置づけDELETEステートメントいいえ。
E121-08閉じる文いいえ。
E121-10FETCHステートメント:暗黙的なNEXTいいえ。
E121-17ホールドカーソル付きいいえ。
E131Null値のサポート(値の代わりにnull)部分的一部の制限が適用されます
E141基本的な整合性制約部分的
E141-01NULLでない制約はい。注: NOT NULL は黙示のためのテーブル列によるデフォルト
E141-02NULLでない列の一意制約いいえ。
E141-03主キー制約いいえ。
E141-04参照削除アクションと参照updateアクションの両方に対するNO ACTIONのデフォルトを持つ基本外部キー制約いいえ。
E141-06制約のチェックはい。
E141-07列の既定値はい。
E141-08主キーで推論されるNULLではありませんはい。
E141-10外部キーの名前は任意の順序で指定できますいいえ。
E151取引サポートいいえ。
E151-01COMMIT文いいえ。
E151-02ROLLBACKステートメントいいえ。
E152基本セット取引明細書いいえ。
E152-01SET TRANSACTION文:分離レベルSERIALIZABLE句いいえ。
E152-02SET TRANSACTION文:READ ONLY句とREAD WRITE句いいえ。
E153サブクエリを使用した更新可能なクエリいいえ。
E161先頭のdouble minusを使用したSQLコメントはい。
E171SQLSTATEサポートいいえ。
E182ホスト言語バインドいいえ。
F031基本的なスキーマ操作部分的
F031-01永続ベーステーブルを作成するCREATE TABLE文部分的いいえ。 SYSTEM VERSIONING, ON COMMIT, GLOBAL, LOCAL, PRESERVE, DELETE, REF IS, WITH OPTIONS, UNDER, LIKE, PERIOD FOR 句およびユーザー解決データ型のサポートなし
F031-02CREATE VIEW文部分的いいえ。 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必ずというわけではないが、内側のキーワード)はい。
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 timeは同様の機能を提供します
F051-04日付、時刻、およびタイムスタンプのデータ型の比較述語部分的使用可能なデータ型は一つだけです
F051-05Datetime型と文字列型の間の明示的なキャストはい。
F051-06CURRENT_DATEいいえ。today() 似ています
F051-07LOCALTIMEいいえ。now() 似ています
F051-08LOCALTIMESTAMPいいえ。
F081ビュー内の組合および除く部分的
F131グループ化操作部分的
F131-01ここで、グループにより、条項対応してクエリを処理するクラウドの場合グ眺望はい。
F131-02グループ化されたビュはい。
F131-03セット機能に対応してクエリを処理するクラウドの場合グ眺望はい。
F131-04GROUP BY句とHAVING句およびグループ化ビューを持つサブクエリはい。
F131-05GROUP BY句およびHAVING句およびグループ化ビューを使用した単一行選択いいえ。
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展開されたNULL述語はい。
F812基本的なフラグ設定いいえ。
T321基本的なSQL呼び出しルーチンいいえ。
T321-01オーバーロードのないユーザー定義関数いいえ。
T321-02過負荷のないユーザー定義ストアドプロシージャいいえ。
T321-03関数呼び出しいいえ。
T321-04CALL文いいえ。
T321-05RETURN文いいえ。
T631一つのリスト要素を持つ述語ではい。

評価: 5 - 2 投票

この内容は有用だったか。
★★★★★