SnowConvert AI - Oracle - Literais¶
Os termos literal e valor constante são sinônimos e referem-se a um valor de dados fixo.\ (Literais de referência de linguagem Oracle SQL)
Literal de intervalo¶
Literal de intervalo incompatível com o cenário atual
Descrição¶
Os intervalos do Snowflake só podem ser usados em operações aritméticas. Os intervalos usados em qualquer outro cenário não são compatíveis.
Exemplo de código¶
Oracle¶
Snowflake¶
Problemas conhecidos¶
Não foram encontrados problemas.
Tipo de intervalo e tipo de data¶
Operação entre o tipo de intervalo e o tipo de data não suportada
Descrição¶
INTERVAL YEAR TO MONTH e INTERVAL DAY TO SECOND não são tipos de dados compatíveis; eles são transformados em VARCHAR(20). Portanto, todas as operações aritméticas entre tipos de data e as colunas de tipo de intervalo originais são incompatíveis.
Além disso, operações entre um tipo de intervalo e um tipo de data (nesta ordem) não são compatíveis com o Snowflake, e essas operações também usam este EWI.
Exemplo de código¶
Oracle¶
Snowflake¶
Recomendações¶
Implemente a UDF para simular o comportamento do Oracle.
Extraia o valor já transformado que foi armazenado na coluna durante a migração e use-o como uma constante de intervalo do Snowflake quando possível.
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
EWIs relacionados¶
SSC-EWI-0036: Tipo de dados convertido em outro tipo de dados.
SSC-EWI-OR0095: Operação entre o tipo de intervalo e o tipo de data não suportada.
SSC-FDM-OR0042: O tipo de data transformado em carimbo de data/hora tem um comportamento diferente.
Literais de texto¶
Descrição¶
Use a notação de literal de texto para especificar valores sempre que
stringaparece na sintaxe de expressões, condições, funções SQL e instruções SQL em outras partes desta referência.
Amostra de padrões da origem¶
Cadeia de caracteres vazia (“”)¶
As cadeias de caracteres vazias são equivalentes a NULL no Oracle, portanto, para emular o comportamento no Snowflake, as cadeias de caracteres vazias são convertidas em NULL ou indefinido dependendo se o literal é usado dentro de um procedimento ou não.
Oracle¶
Resultado¶
UPPER(“”) |
|---|
Snowflake¶
Resultado¶
UPPER(NULL) |
|---|
Cadeia de caracteres vazia em procedimentos armazenados¶
Oracle¶
Resultado¶
COL1 |
COL2 |
|---|---|
hello |
Snowflake¶
Resultado¶
COL1 |
COL2 |
|---|---|
hello |
Cadeia de caracteres vazia em funções internas¶
Aviso
A transformação não se aplica quando a cadeia de caracteres vazia é usada como argumento das funções REPLACE e CONCAT para manter a equivalência funcional.
Oracle¶
Resultado¶
REPLACE(“HELLOWORLD”,””,”L”) |
CONCAT(“A”,””) |
|---|---|
Hello world |
A |
Snowflake¶
Resultado¶
REPLACE(“HELLO WORLD”, “”, “L”) |
CONCAT(“A”,””) |
|---|---|
Hello world |
A |
Nota
Se as cadeias de caracteres vazias forem substituídas por NULL para esses casos, os resultados das consultas serão diferentes.
Problemas conhecidos¶
Não foram encontrados problemas.
EWIs relacionados¶
Sem EWIs relacionados.