SnowConvert AI – IBM DB2 – SELECT STATEMENT¶
Beschreibung¶
Eine Unterteilung der SELECT-Anweisung in IBM DB2.
Klicken Sie hier, um zur IBM DB2-Dokumentationsseite für diese Syntax zu navigieren.
Grammatikalische Syntax¶

FROM-Klausel¶
Alle Informationen zu diesem Teil der Syntax werden auf der Seite zur FROM-Klausel angegeben.
WHERE-Klausel¶
Das WHERE-Klausel gibt eine Zwischenergebnistabelle an, die aus den Zeilen des Typs R besteht, für die die Suchbedingung erfüllt ist. R ist das Ergebnis der FROM-Klausel des Subselects.
Klicken Sie hier, um zur IBM DB2-Dokumentationsseite für diese Syntax zu navigieren.
Grammatikalische Syntax¶

SuccessPlaceholder
Die gesamte grammatikalische Syntax, die in dieser WHERE-Klausel von DB2 angegeben ist, ist ANSI-konform, entspricht Snowflake und wird daher so übersetzt, wie sie auch von SnowConvert AI übersetzt wird.
GROUP BY-Klausel¶
Die GROUP BY-Klausel gibt eine Zwischenergebnistabelle an, die aus einer Gruppierung der Zeilen des Typs R besteht. R ist das Ergebnis der vorherigen Klausel des Subselects.
Klicken Sie hier, um zur IBM DB2-Dokumentationsseite für diese Syntax zu navigieren.
Grammatikalische Syntax¶

Keine explizite Spaltenreferenz¶
Die folgenden Ausdrücke, die keinen expliziten Spaltenreferenz enthalten, können in einem Gruppierungsausdruck verwendet werden, um eine Spalte des Typs R zu identifizieren:
ROW CHANGE TIMESTAMP FOR table-designator
ROW CHANGE TOKEN FOR table-designator
RID_BIT- oder RID-Sklarfunktion
ROW CHANGE-Ausdrücke und RID/RID_BIT-Skalarfunktionen werden von Snowflake nicht unterstützt.
Beispielhafte Quellcode-Muster
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()
;
Zugehörige EWIs
FETCH-Klausel
Description
Legt eine maximale Anzahl der abzurufenden Zeilen fest.
Klicken Sie hier, um zur IBM DB2-Dokumentationsseite für diese Syntax zu navigieren.
Grammar Syntax

Sample Source Patterns
FETCH ohne Zeilenanzahl
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-Klausel
Description
Legt die Anzahl der zu überspringenden Zeilen fest.
Klicken Sie hier, um zur IBM DB2-Dokumentationsseite für diese Syntax zu navigieren.
Grammar Syntax


Sample Source Patterns
offset-row-count
IBM DB2
SELECT * FROM Product OFFSET 3 ROW;
/* or */
SELECT * FROM Product OFFSET 3 ROWS;
Snowflake
SELECT * FROM
Product
LIMIT NULL
OFFSET 3;
X,Y begrenzen
IBM DB2
SELECT * FROM Product LIMIT 3,2;
Snowflake
SELECT * FROM
Product
OFFSET 3 ROWS
FETCH NEXT 2 ROWS ONLY;
ORDER BY-Klausel
Description
Die ORDER BY-Klausel gibt eine Reihenfolge der Zeilen einer Ergebnistabelle an.
Klicken Sie hier, um zur IBM DB2-Dokumentationsseite für diese Syntax zu navigieren.
Grammar Syntax


Sample Source Patterns
Die einzigen Pfade von ORDER BY in Db2, die in Snowflake nicht unterstützt werden, sind solche, wenn die Klausel mit ORDER OF und INPUT SEQUENCE verwendet wird; wenn diese vorhanden sind, wird die Klausel mit einem EWI gekennzeichnet.
IBM DB2 – Nicht unterstützt – Beispiele
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-Klausel
Description
Leitet eine Ergebnistabelle ab, indem für jede Spalte einer Zeile in der Ergebnistabelle die tatsächlichen Werte mithilfe von Ausdrücken oder Zeilenausdrücken angegeben werden. hin
Bemerkung
Die VALUES-Klausel wird in Snowflake nicht unterstützt. Aus diesem Grund wird es in eine SELECT-Anweisung übersetzt, wie in den folgenden Beispielen gezeigt.
Grammatikalische Syntax¶

Beispielhafte Quellcode-Muster¶
Die VALUES-Klausel wird in Snowflake nicht unterstützt. Aus diesem Grund wird die VALUES-Klausel in eine SELECT-Abfrage übersetzt.
IBM-DB2¶
VALUES 1, 2, 3
1 |
2 |
3 |
Snowflake¶
SELECT 1, 2, 3
1 |
2 |
3 |
Für Werte mit mehreren Zeilen wird eine Vereinigung verwendet:
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 |
Entfernte Klauseln¶
Beschreibung¶
Die folgenden Klauseln werden entfernt, da sie in Snowflake nicht anwendbar sind:
FOR READ ONLY
UPDATE-Klausel
OPTIMIZE FOR-Klausel
concurrent-access-resolution-Klausel
ISOLATION-KLAUSEL
Beispielhafte Quellcode-Muster¶
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;