SnowConvert AI - IBM DB2 - SELECT STATEMENT¶
説明¶
IBM DB2 で行われた SELECT ステートメントを細分化したもの。
こちら をクリックすると、この構文に関する IBM DB2 ドキュメントページに移動します。
文法構文¶

From句¶
構文のこの部分に関するすべての情報は、 From句のページ で指定されています。
Where句¶
WHERE 句は、検索条件が真であるRの行からなる中間結果テーブルを指定します。Rはsubselectの FROM 句の結果です。
こちら をクリックすると、この構文に関する IBM DB2 ドキュメントページに移動します。
文法構文¶

SuccessPlaceholder
この DB2 のwhere句で指定されている文法はすべて、 ANSI に準拠し、Snowflakeと同等であるため、 SnowConvert AI によってそのまま翻訳されます。
Group By句¶
GROUP BY 句は、Rの行のグループ化で構成される中間結果テーブルを指定します。Rは、subselectの前の句の結果です。
こちら をクリックすると、この構文に関する IBM DB2 ドキュメントページに移動します。
文法構文¶

明示的な列参照なし¶
明示的な列参照を含まない以下の式は、Rの列を識別するためにグループ化式で使用できます。
ROW CHANGE TIMESTAMP FOR table-designator
ROW CHANGE TOKEN FOR table-designator
RID_BIT または RID スカラー関数
ROW CHANGE 式と RID/RID_BIT スカラー関数はSnowflakeではサポートされていません。
サンプルソースパターン
IBM に DB2
select * from product group by ROW CHANGE TIMESTAMP FOR product;
Snowflake
select * from
product
--!!!RESOLVE EWI!!! /*** SSC-EWI-0021 - GROUP BY ROW CHANGE TIMESTAMP FOR NOT SUPPORTED IN SNOWFLAKE ***/!!!
--group by ROW CHANGE TIMESTAMP FOR product
;
IBM DB2
select * from product group by RID();
Snowflake
select * from
product
--!!!RESOLVE EWI!!! /*** SSC-EWI-0021 - GROUP BY scalar function RID NOT SUPPORTED IN SNOWFLAKE ***/!!!
--group by RID()
;
関連 EWIs
Fetch句
Description
取得する行の最大数を設定します。
こちら をクリックすると、この構文に関する IBM DB2 ドキュメントページに移動します。
Grammar Syntax

Sample Source Patterns
行カウントなしの取得
IBM DB2
SELECT * FROM Product FETCH First Row ONLY;
/* or */
SELECT * FROM Product FETCH First Rows ONLY;
/* or */
SELECT * FROM Product FETCH Next Row ONLY;
/* or */
SELECT * FROM Product FETCH Next Rows ONLY;
Snowflake
SELECT * FROM
Product
FETCH NEXT 1 ROW ONLY;
Offset句
Description
スキップする行数を設定します。
こちら をクリックすると、この構文に関する IBM DB2 ドキュメントページに移動します。
Grammar Syntax


Sample Source Patterns
オフセット行カウント
IBM DB2
SELECT * FROM Product OFFSET 3 ROW;
/* or */
SELECT * FROM Product OFFSET 3 ROWS;
Snowflake
SELECT * FROM
Product
LIMIT NULL
OFFSET 3;
Limit X、Y
IBM DB2
SELECT * FROM Product LIMIT 3,2;
Snowflake
SELECT * FROM
Product
OFFSET 3 ROWS
FETCH NEXT 2 ROWS ONLY;
Order by句
Description
ORDER BY 句は、結果テーブルの行の順序を指定します。
こちら をクリックすると、この構文に関する IBM DB2 ドキュメントページに移動します。
Grammar Syntax


Sample Source Patterns
Db2の ORDER BY のパスでSnowflakeでサポートされていないのは、 ORDER OF と INPUT SEQUENCE とともに使用されるパスだけです。したがって、これらが存在する場合、句には EWI が付きます。
IBM DB2 サポートされていない例
Select * from ORDERBYTest ORDER BY ORDER OF TableDesignator;
Select * from ORDERBYTest ORDER BY INPUT SEQUENCE;
Snowflake
Select * from
ORDERBYTest
!!!RESOLVE EWI!!! /*** SSC-EWI-0021 - ORDER BY ORDER OF NOT SUPPORTED IN SNOWFLAKE ***/!!!
ORDER BY ORDER OF TableDesignator;
Select * from
ORDERBYTest
!!!RESOLVE EWI!!! /*** SSC-EWI-0021 - ORDER BY INPUT SEQUENCE NOT SUPPORTED IN SNOWFLAKE ***/!!!
ORDER BY INPUT SEQUENCE;
Related EWIs
SSC-EWI-0021: NODE NOT SUPPORTED
Values句
Description
結果テーブルの行の各列に対して、式または行式を使用して実際の値を指定して結果テーブルを導出します。hin
注釈
VALUES 句はSnowflakeではサポートされていません。このため、以下の例のように、 SELECT ステートメントに変換されます。
文法構文¶

サンプルソースパターン¶
Values句はSnowflakeではサポートされていません。このため、values句はselectクエリに変換されます。
IBM に DB2¶
VALUES 1, 2, 3
1 |
2 |
3 |
Snowflake¶
SELECT 1, 2, 3
1 |
2 |
3 |
複数の行を持つ値については、Unionが使用されます。
IBM に DB2¶
VALUES (1, 1, 1),
(2, 2, 2),
(3, 3, 3)
1 |
1 |
1 |
2 |
2 |
2 |
3 |
3 |
3 |
Snowflake¶
SELECT
1, 1, 1
UNION
SELECT
2, 2, 2
UNION
SELECT
3, 3, 3
1 |
1 |
1 |
2 |
2 |
2 |
3 |
3 |
3 |
削除された句¶
説明¶
以下の句は、Snowflakeでは適用されないため、削除されます。
FOR READ ONLY
Update句
Optimize for句
Concurrent access resolution句
Isolation句
サンプルソースパターン¶
IBM に DB2¶
-- For Read Only
SELECT
*
FROM
Table1
FOR READ ONLY;
-- Update Clause
SELECT
*
FROM
Table1
FOR UPDATE OF
COL1,
COL2;
--Optimize For Clause
SELECT
*
FROM
Table1
OPTIMIZE FOR 2 ROWS;
-- Concurrent access resolution Clause
SELECT
*
FROM
Table1
WAIT FOR OUTCOME;
-- Isolation Clause
SELECT
*
FROM
Table1
WITH RR USE AND KEEP EXCLUSIVE LOCKS;
Snowflake¶
-- For Read Only
SELECT
*
FROM
Table1;
-- Update Clause
SELECT
*
FROM
Table1;
--Optimize For Clause
SELECT
*
FROM
Table1;
-- Concurrent access resolution Clause
SELECT
*
FROM
Table1;
-- Isolation Clause
SELECT
*
FROM
Table1;