SnowConvert AI - IBM DB2 - SELECT STATEMENT¶
Descrição¶
Uma subdivisão da instrução SELECT feita no IBM DB2.
Clique aqui para acessar a página de documentação do IBM DB2 para esta sintaxe.
Sintaxe da gramática¶

Cláusula From¶
Todas as informações sobre esta parte da sintaxe estão especificadas na página da cláusula.
Cláusula Where¶
A cláusula WHERE especifica uma tabela de resultados intermediária que consiste nas linhas de R para as quais a condição de pesquisa é verdadeira. R é o resultado da cláusula FROM da subseleção.
Clique aqui para acessar a página de documentação do IBM DB2 para esta sintaxe.
Sintaxe da gramática¶

SuccessPlaceholder
Toda a sintaxe especificada nesta cláusula “where” do DB2 é compatível com ANSI, equivalente ao Snowflake, e é, portanto, traduzida pelo SnowConvert AI.
Agrupar por cláusula¶
A cláusula GROUP BY especifica uma tabela de resultados intermediária que consiste em um agrupamento das linhas do R. O R é o resultado da cláusula anterior da subseleção.
Clique aqui para acessar a página de documentação do IBM DB2 para esta sintaxe.
Sintaxe da gramática¶

Nenhuma referência de coluna explícita¶
As seguintes expressões, que não contêm uma referência de coluna explícita, podem ser usadas em uma expressão de agrupamento para identificar uma coluna do R:
Designador de tabela ROW CHANGE TIMESTAMP FOR
Designador de tabela ROW CHANGE TOKEN FOR
Função escalar RID_BIT ou RID
Expressões ROW CHANGE e funções escalares RID/RID_BIT não são suportadas no Snowflake.
Amostra de padrões da origem
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 relacionados
Cláusula de busca
Description
Define um número máximo de linhas a serem recuperadas.
Clique aqui para acessar a página de documentação do IBM DB2 para esta sintaxe.
Grammar Syntax

Sample Source Patterns
Busca sem contagem de linhas
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;
Cláusula de deslocamento
Description
Define o número de linhas a serem puladas.
Clique aqui para acessar a página de documentação do IBM DB2 para esta sintaxe.
Grammar Syntax


Sample Source Patterns
Deslocamento de contagem de linhas
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;
Cláusula de ordem por
Description
A cláusula ORDER BY especifica uma ordenação das linhas da tabela de resultados.
Clique aqui para acessar a página de documentação do IBM DB2 para esta sintaxe.
Grammar Syntax


Sample Source Patterns
Os únicos caminhos de ORDER BY em Db2 que não são suportados no Snowflake são aqueles quando ele é usado com ORDER OF e INPUT SEQUENCE; portanto, se estiverem presentes, a cláusula será marcada com EWI.
Exemplos de IBM DB2 não suportados
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
Cláusula de valores
Description
Gera uma tabela de resultados especificando os valores reais, usando expressões ou expressões de linha, para cada coluna de uma linha na tabela de resultados.
Nota
A cláusula VALUES não é compatível com o Snowflake. Por isso, é traduzida como uma instrução SELECT, conforme mostrado nos exemplos abaixo.
Sintaxe da gramática¶

Amostra de padrões da origem¶
A cláusula “Values” não é compatível com o Snowflake. Por isso, a cláusula “Values” é traduzida como uma consulta “select”.
IBM DB2¶
VALUES 1, 2, 3
1 |
2 |
3 |
Snowflake¶
SELECT 1, 2, 3
1 |
2 |
3 |
Para os valores com várias linhas, é usada uma união:
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 |
Cláusulas removidas¶
Descrição¶
As seguintes cláusulas são removidas, porque não são aplicáveis no Snowflake:
FOR READ ONLY
Cláusula “Update”
Cláusula “Optimize for”
Cláusula “Concurrent access resolution”
Cláusula “Isolation”
Amostra de padrões da origem¶
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;