このトピックでは、SELECTステートメントのIMCIの制限について説明します。
SELECTステートメントのIMCIの制限
IMCIは、SELECTステートメントでのみ使用できます。ただし、次のを除きます。
SELECT... など
のロックを取得するSELECTステートメント FOR [UPDATE | シェア]...
.次のようなフレーム定義を持つ集計関数を含むSELECTステートメント:
SELECT time, subject, val, SUM(val) OVER ( PARTITION BY subject ORDER BY time ROWS UNBOUNDED PRECEDING -- Frame definitions in the window function. Such a SELECT statement does not support IMCIs. ) AS running_total FROM observations;
SELECT文 (SELECT SUM(a) FROM t1 GROUP BY (SELECT...) など
のサブクエリがGROUP BY句にある場合) FROM ...) as some_subquery;
SELECTステートメント (SELECT a FROM t1 ORDER BYなど
、サブクエリがORDER BY句にある場合) FROM ...) as some_subquery;
WHERE t1.a in (SELECT t2.a FROM t2 INNER join t3 on t2.a = t3.a AND t2.b > t1.b);
など、サブクエリ結合条件で関連参照を持つSELECTステートメント。サブクエリでウィンドウ関数を使用し、サブクエリHAVING条件で相関参照を使用するSELECTステートメント。
サブクエリUNION句に関連する参照を持つSELECTステートメント。
式のIMCIの制限
SELECTステートメントにIMCIをサポートしない式が含まれている場合、SELECTステートメントはIMCIをサポートしません。
比較式
式 | サポートされているIMCIs? |
好きな音 | No |
の間... そして... | Yes 説明
|
GREATEST() | Yes 説明 TIMEおよびSTRINGデータタイプが入力パラメータで使用される場合、比較結果は、IMCIが使用されない場合の結果とは異なる可能性がある。 |
IN() | Yes 説明
|
LEAST() | Yes 説明 TIMEおよびSTRINGデータタイプが入力パラメータで使用される場合、比較結果は、IMCIが使用されない場合の結果とは異なる可能性がある。 |
間ではない... そして... | Yes 説明
|
文字列式
式 | サポートされているIMCIs? |
SOUNDEX() | No |
SOUNDS LIKE | No |
MATCH | No |
LOAD_FILE() | No |
TIMESTAMP() | Yes 説明 IMCI機能が有効になっている場合、指定できるパラメーターは1つだけです。 |
集計関数式
関数 | サポートされているIMCIs? |
JSON_ARRAYAGG() | No |
JSON_OBJECTAGG() | No |
ウィンドウ関数式
式 | サポートされているIMCIs? |
FIRST_VALUE() | No |
NTH_VALUE() | No |
LAST_VALUE() | No |
暗号化と圧縮式
関数 | サポートされているIMCIs? |
AES_DECRYPT() | No |
AES_ENCRYPT() | No |
COMPRESS() | No |
RANDOM_BYTES() | No |
STATEMENT_DIGEST() | No |
STATEMENT_DIGEST_TEXT() | No |
UNCOMPRESS() | No |
UNCOMPRESSED_LENGTH() | No |
VALIDATE_PASSWORD_STRENGTH() | No |
JSON 関数
関数 | サポートされているIMCIs? |
JSON_ARRAY() | No |
JSON_ARRAY_APPEND() | No |
JSON_ARRAY_INSERT() | No |
JSON_CONTAINS_PATH() | No |
JSON_INSERT() | No |
JSON_MERGE() | No |
JSON_MERGE_PATCH() | No |
JSON_MERGE_PRESERVE() | No |
JSON_OBJECT() | No |
JSON_OVERLAPS() | No |
JSON_REPLACE() | No |
JSON_SCHEMA_VALID() | No |
JSON_SCHEMA_VALIDATION_REPORT() | No |
JSON_SEARCH() | No |
JSON_SET() | No |
JSON_STORAGE_FREE() | No |
JSON_STORAGE_SIZE() | No |
JSON_VALUE() | No |
MEMBER OF() | No |
空間関数
関数 | サポートされているIMCIs? |
ST_AsGeoJSON() | No |
ST_Buffer() | No |
ST_Buffer_Strategy() | No |
ST_Centroid() | No |
ST_Collect() | No |
ST_ConvexHull() | No |
ST_EndPoint() | No |
ST_ExteriorRing() | No |
ST_FrechetDistance() | No |
ST_GeoHash() | No |
ST_GeometryN() | No |
ST_GeometryType() | No |
ST_GeomFromGeoJSON() | No |
ST_HausdorffDistance() | No |
ST_InteriorRingN() | No |
ST_Intersection() | No |
ST_IsClosed() | No |
ST_IsEmpty() | No |
ST_IsSimple() | No |
ST_IsValid() | No |
ST_LatFromGeoHash() | No |
ST_LineInterpolatePoint() | No |
ST_LineInterpolatePoints() | No |
ST_LongFromGeoHash() | No |
ST_NumGeometries() | No |
ST_NumInteriorRing() | No |
ST_NumInteriorRings() | No |
ST_NumPoints() | No |
ST_PointAtDistance() | No |
ST_PointFromGeoHash() | No |
ST_PointN() | No |
ST_StartPoint() | No |
ST_SwapXY() | No |