SnowConvert AI - IBM DB2 - SELECT STATEMENT¶
Description¶
Une sous-division de l’instruction SELECT effectuée dans IBM DB2.
Cliquez ici pour naviguer vers la page de documentation IBM DB2 pour cette syntaxe.
Grammar Syntax¶

Clause From¶
Toutes les informations relatives à cette partie de la syntaxe sont spécifiées sur la page from-clause.
Clause Where¶
La clause WHERE spécifie une table de résultats intermédiaire constituée des lignes de R pour lesquelles la condition de recherche est vraie. R est le résultat de la clause FROM de la sous-sélection.
Cliquez ici pour naviguer vers la page de documentation IBM DB2 pour cette syntaxe.
Grammar Syntax¶

SuccessPlaceholder
Toute la grammaire spécifiée dans cette clause Where de DB2 est conforme à l’ANSI, équivalente à Snowflake, et est donc traduite telle quelle par SnowConvert AI.
Clause Group By¶
La clause GROUP BY spécifie une table de résultats intermédiaire qui consiste en un regroupement des lignes de R. R est le résultat de la clause précédente de la sous-sélection.
Cliquez ici pour naviguer vers la page de documentation IBM DB2 pour cette syntaxe.
Grammar Syntax¶

Aucune référence de colonne explicite¶
Les expressions suivantes, qui ne contiennent aucune référence de colonne explicite, peuvent être utilisées dans une expression de regroupement pour identifier une colonne de R :
Concepteur de tables ROW CHANGE TIMESTAMP FOR
Concepteur de tables ROW CHANGE TOKEN FOR
Fonction scalaire RID_BIT ou RID
Les expressions ROW CHANGE et les fonctions scolaires RID/RID_BIT ne sont pas prises en charge dans Snowflake.
Modèles d’échantillons de sources
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 connexes
Clause Fetch
Description
Définit un nombre maximum de lignes à récupérer.
Cliquez ici pour naviguer vers la page de documentation IBM DB2 pour cette syntaxe.
Grammar Syntax

Sample Source Patterns
Récupération sans nombre de lignes
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;
Clause Offset
Description
Définit le nombre de lignes à sauter.
Cliquez ici pour naviguer vers la page de documentation IBM DB2 pour cette syntaxe.
Grammar Syntax


Sample Source Patterns
Décalage du nombre de lignes
IBM DB2
SELECT * FROM Product OFFSET 3 ROW;
/* or */
SELECT * FROM Product OFFSET 3 ROWS;
Snowflake
SELECT * FROM
Product
LIMIT NULL
OFFSET 3;
Limite X,Y
IBM DB2
SELECT * FROM Product LIMIT 3,2;
Snowflake
SELECT * FROM
Product
OFFSET 3 ROWS
FETCH NEXT 2 ROWS ONLY;
Clause Order By
Description
La clause ORDER BY spécifie un classement des lignes de la table de résultats.
Cliquez ici pour naviguer vers la page de documentation IBM DB2 pour cette syntaxe.
Grammar Syntax


Sample Source Patterns
Les seuls chemins de ORDER BY dans Db2 qui ne sont pas pris en charge dans Snowflake sont ceux utilisés avec ORDER OF et INPUT SEQUENCE ; par conséquent, si ceux-ci sont présents, la clause sera marquée d’un EWI.
Exemples de IBM DB2 non pris en charge
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
Clause Values
Description
Dérive une table de résultats en spécifiant les valeurs réelles, à l’aide d’expressions ou d’expressions de ligne, pour chaque colonne d’une ligne dans la table de résultats.
Note
La clause VALUES n’est pas prise en charge dans Snowflake. Pour cette raison, elle est traduite en une instruction SELECT, comme montré dans les exemples ci-dessous.
Grammar Syntax¶

Modèles d’échantillons de sources¶
La clause Values n’est pas prise en charge dans Snowflake. Pour cette raison, la clause Values est traduite en une requête de sélection.
IBM DB2¶
VALUES 1, 2, 3
1 |
2 |
3 |
Snowflake¶
SELECT 1, 2, 3
1 |
2 |
3 |
Pour les valeurs avec plusieurs lignes, une Union est utilisée :
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 |
Clauses supprimées¶
Description¶
Les clauses suivantes sont supprimées, car elles ne sont pas applicables dans Snowflake :
FOR READ ONLY
Clause Update
Clause Optimize for
Clause Concurrent access resolution
Clause Isolation
Modèles d’échantillons de sources¶
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;