SnowConvert AI - Oracle - Littéraux¶
Les termes littéral et valeur constante sont synonymes et font référence à une valeur de données fixe.\ (Référence linguistique Oracle SQL - Littéraux
Littéral d’intervalle¶
Le littéral d’intervalle n’est pas pris en charge dans le scénario actuel.
Description¶
Les intervalles de Snowflake ne peuvent être utilisés que dans les opérations arithmétiques. Les intervalles utilisés dans tout autre scénario ne sont pas pris en charge.
Exemple de code¶
Oracle¶
Snowflake¶
Problèmes connus¶
Aucun problème n’a été constaté.
Type d’intervalle et type de date¶
L’opération entre le type d’intervalle et le type de date n’est pas prise en charge
Description¶
INTERVAL YEAR TO MONTH et INTERVAL DAY TO SECOND ne sont pas un type de données pris en charge, ils sont transformés en VARCHAR(20). Par conséquent, toutes les opérations arithmétiques entre les types de date et les colonnes de type intervalle originales ne sont pas prises en charge.
De plus, les opérations entre un type d’intervalle et un type de date (dans cet ordre) ne sont pas prises en charge dans Snowflake. et ces opérations utilisent aussi cet EWI.
Exemple de code¶
Oracle¶
Snowflake¶
Recommandations¶
Mettez en œuvre l’UDF pour simuler le comportement d’Oracle.
Extrayez la valeur déjà transformée qui a été stockée dans la colonne pendant la migration, et utilisez-la comme Constante d’intervalle Snowflake lorsque c’est possible.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com
EWIs connexes¶
SSC-EWI-0036 : Type de données converti en un autre type de données.
SSC-EWI-OR0095: L’opération entre le type d’intervalle et le type de date n’est pas prise en charge.
SSC-FDM-OR0042: Le type de date transformé en horodatage a un comportement différent.
Littéraux de texte¶
Description¶
Utilisez la notation littérale de texte pour spécifier des valeurs à chaque fois que
string(chaîne) apparaît dans la syntaxe d’expressions, de conditions, de fonctions SQL et d’instructions SQL dans d’autres parties de cette référence.
Modèles d’échantillons de sources¶
Chaîne vide (“”)¶
Les chaînes vides sont équivalentes à NULL dans Oracle, donc afin d’imiter le comportement dans Snowflake, les chaînes vides sont converties en NULL ou undefined selon que le littéral est utilisé dans une procédure ou non.
Oracle¶
Résultat¶
UPPER |
|---|
Snowflake¶
Résultat¶
UPPER(NULL) |
|---|
Chaîne vide dans les procédures stockées¶
Oracle¶
Résultat¶
COL1 |
COL2 |
|---|---|
hello |
Snowflake¶
Résultat¶
COL1 |
COL2 |
|---|---|
hello |
Chaîne vide dans les fonctions intégrées¶
Avertissement
La transformation ne s’applique pas lorsque la chaîne vide est utilisée comme argument des fonctions REPLACE et CONCAT afin de préserver l’équivalence fonctionnelle.
Oracle¶
Résultat¶
REPLACE(“HELLOWORLD”,””,”L”) |
CONCAT(“A”,””) |
|---|---|
Hello world |
A |
Snowflake¶
Résultat¶
REPLACE(“HELLO WORLD”, “”, “L”) |
CONCAT(“A”,””) |
|---|---|
Hello world |
A |
Note
Si les chaînes vides sont remplacées par NULL pour ces casses, les résultats des requêtes seront différents.
Problèmes connus¶
Aucun problème n’a été constaté.
EWIs connexes¶
Pas d’EWIs connexes.