SnowConvert AI - Oracle - Fonctions intégrées¶
Cette section montre les équivalents entre les fonctions dans Oracle et dans Snowflake.
Oracle |
Snowflake |
Remarques |
|---|---|---|
ABS |
ABS |
|
ACOS |
ACOS |
|
ADD_MONTHS |
ADD_MONTHS |
|
ANY_VALUE |
ANY_VALUE |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
APPROX_COUNT |
*à définir |
|
APPROX_COUNT_DISTINCT |
APPROX_COUNT_DISTINCT |
|
APPROX_COUNT_DISTINCT_AGG |
*à définir |
|
APPROX_COUNT_DISTINCT_DETAIL |
*à définir |
|
APPROX_MEDIAN |
*à définir |
|
APPROX_PERCENTILE |
APPROX_PERCENTILE |
|
APPROX_PERCENTILE_AGG |
*à définir |
|
APPROX_PERCENTILE_DETAIL |
*à définir |
|
APPROX_RANK |
*à définir |
|
APPROX_SUM |
*à définir |
|
ASCII |
ASCII |
|
ASCIISTR |
*à définir |
|
ASIN |
ASIN |
|
ATAN |
ATAN |
|
ATAN2 |
ATAN2 |
|
AVG |
AVG |
|
BFILENAME |
*à définir |
|
BIN_TO_NUM |
*à définir |
|
BITAND |
BITAND |
|
BIT_AND_AGG |
BITAND_AGG |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
BITMAP_BIT_POSITION |
BITMAP_BIT_POSITION |
|
BITMAP_BUCKET_NUMBER |
BITMAP_BUCKET_NUMBER |
|
BITMAP_CONSTRUCT___AGG |
BITMAP_CONSTRUCT___AGG |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
BITMAP_COUNT |
BITMAP_BIT_COUNT |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
BITMAP_OR_AGG |
BITMAP_OR___AGG |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
BIT_OR_AGG |
BIT_OR_AGG |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
BIT_XOR_AGG |
BIT_XOR_AGG |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
CARDINALITY |
*à définir |
|
CAST |
<p>CAST</p><p>TO_DATE</p><p>TO_NUMBER</p><p>TO_TIMESTAMP</p><p>Non pris en charge</p> |
La fonction est convertie en stub _ “CAST’STUB” _ et génère une erreur si elle contient l’une des instructions suivantes qui ne sont pas prises en charge : _ “DEFAULT ON CONVERSION ERROR” _ ou _ “MULTISET” . De plus, elle est convertie en stub et génère une erreur****si le type de données** n’est pas pris en charge. La fonction est convertie en fonction _’TO_NUMBER”** lorsque l’expression à convertir est du type ** nombre ** et génère une erreur** indiquant qu’il n’est pas possible de procéder à la conversion explicite. La fonction est convertie en fonction _’TO_DATE”_ lorsque l’expression à convertir est du type _ date _ et génère une erreur indiquant qu’il n’est pas possible de procéder à la conversion explicite. La fonction est convertie en fonction _’TO_TIMESTAMP”_ lorsque l’expression à convertir est du type _ horodatage**_ et génère une erreur indiquant qu’il n’est pas possible de procéder à la conversion explicite. |
CEIL |
CEIL |
|
CHARTOROWID |
*à définir |
|
CHECKSUM |
*à définir |
|
CHR |
CHR |
_ USING NCHAR_CS _ l’instruction n’est pas prise en charge par l’équivalent de la fonction Snowflake. La clause est supprimée. |
CLUSTER_DETAILS |
*à définir |
|
CLUSTER_DISTANCE |
*à définir |
|
CLUSTER_ID |
*à définir |
|
CLUSTER_PROBABILITY |
*à définir |
|
CLUSTER_SET |
*à définir |
|
COALESCE |
COALESCE |
|
COLLATION |
COLLATION |
|
COLLECT |
*à définir |
|
COMPOSE |
*à définir |
|
CON_DBID_TO_ID |
*à définir |
|
CON_GUID_TO_ID |
*à définir |
|
CON_NAME_TO_ID |
*à définir |
|
CON_UID_TO_ID |
*à définir |
|
CONCAT |
CONCAT |
Chaque paramètre d’expression sera placé à l’intérieur d’une fonction _ NVL(expr, “ “) _ afin d’éviter une erreur au cas où l’une des expressions serait nulle. |
CONVERT |
*à définir |
|
CORR |
CORR |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
CORR_S |
*à définir |
|
CORR_K |
*à définir |
|
COS |
COS |
|
COSH |
COSH |
|
COUNT |
COUNT |
|
COVAR_POP |
COVAR_POP |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
COVAR_SAMP |
COVAR_SAMP |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
CUBE_TABLE |
Non pris en charge |
Convertie en stub _ “CUBE_TABLE_STUB” _ et une erreur est ajoutée. |
CUME_DIST |
CUME_DIST |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
CURRENT_DATE |
CURRENT_DATE |
|
CURRENT_TIMESTAMP |
CURRENT_TIMESTAMP |
|
CV |
*à définir |
|
DATAOBJ_TO_MAT_PARTITION |
*à définir |
|
DATAOBJ_TO_PARTITION |
*à définir |
|
DBTIMEZONE |
*à définir |
|
DECODE |
DECODE |
|
DECOMPOSE |
*à définir |
|
DENSE_RANK |
DENSE_RANK |
Il existe deux types de syntaxe, _ syntaxe agrégée _, et _ syntaxe analytique _. La _ syntaxe d’agrégation _ n’est pas prise en charge et une erreur est ajoutée. La syntaxe analytique est prise en charge, mais le mot-clé _ “SIBLINGS” _ est supprimé de la _ clause _ _ “order by” _ et un avertissement est ajouté. |
DEPTH |
*à définir |
|
DEREF |
*à définir |
|
DUMP |
*à définir |
|
EMPTY_BLOB |
*à définir |
|
EMPTY_CLOB |
*à définir |
|
EXISTSNODE |
*à définir |
|
EXP |
EXP |
|
EXTRACT (datetime) |
<p>EXTRACT (datetime)</p><p>Non pris en charge</p> |
Conservée en tant que fonction _ EXTRACT _ mais génère un avertissement lorsque la fonction a _ “MINUTE” _ ou _ “TIMEZONE_MINUTE” _ comme premier paramètre de mot-clé. Converti en stub _ “EXTRACT_STUB” _ et génère une erreur lorsque le premier paramètre mot-clé est _ “TIMEZOME_REGION” _ ou _ “TIMEZONE_ABBR” _ |
EXTRACT (XML) |
Non pris en charge |
La fonctionnalité liée à XML n’est pas prise en charge. Elle est convertie en un stub _ “EXTRACT_STUB” _ et une erreur est ajoutée. Veuillez consulter le lien suivant pour savoir comment gérer le chargement XML : |
EXTRACTVALUE |
Non pris en charge |
Convertie en stub _ “EXTRACTVALUE_STUB” _ et une erreur est ajoutée. |
FEATURE_COMPARE |
*à définir |
|
FEATURE_DETAILS |
*à définir |
|
FEATURE_ID |
*à définir |
|
FEATURE_SET |
*à définir |
|
FEATURE_VALUE |
*à définir |
|
FIRST |
Non pris en charge |
L’instruction utilisée pour indiquer que seules les valeurs first ou last de la _ fonction d’agrégation _ seront retournées n’est pas prise en charge. Génère une erreur. |
FIRST_VALUE |
FIRST_VALUE |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
FLOOR |
FLOOR |
|
FROM_TZ |
*à définir |
|
GREATEST |
GREATEST |
|
GROUP_ID |
*à définir |
|
GROUPING |
GROUPING |
|
GROUPING_ID |
GROUPING_ID |
|
HEXTORAW |
*à définir |
|
INITCAP |
INITCAP |
|
INSTR |
POSITION |
L’ordre du paramètre _ “string” _ et du paramètre _ “substring” _ est inversé. En outre, le paramètre _”occurrence” _ est supprimé car il n’est pas pris en charge et un avertissement est ajouté. |
ITERATION_NUMBER |
*à définir |
|
JSON_ARRAY |
*à définir |
|
JSON_ARRAYAGG |
*à définir |
|
JSON |
*à définir |
|
JSON_MERGE_PATCH |
*à définir |
|
JSON_OBJECT |
*à définir |
|
JSON_OBJECTAGG |
*à définir |
|
JSON_QUERY |
*à définir |
|
JSON_SCALAR |
*à définir |
|
JSON_SERIALIZE |
*à définir |
|
JSON_TABLE |
Non pris en charge |
Génère une erreur : _ JSON_TABLE IS NOT SUPPORTED. _ |
JSON_TRANSFORM |
*à définir |
|
JSON_VALUE |
||
KURTOSIS_POP |
*à définir |
|
KURTOSIS_SAMP |
*à définir |
|
LAG |
LAG |
<p>Lorsque l’expression de valeur s’accompagne de l’expression <em><strong>RESPECT |
LAST |
Non pris en charge |
L’instruction utilisée pour indiquer que seules les valeurs first ou last de la _ fonction d’agrégation _ seront retournées n’est pas prise en charge. Génère une erreur. |
LAST_DAY |
LAST_DAY |
|
LAST_VALUE |
LAST_VALUE |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
LEAD |
LEAD |
Lorsque l’expression de valeur est accompagnée de l’instruction _ RESPECT | IGNORE NULLS, _ l’instruction est déplacée à l’extérieur de la parenthèse afin de correspondre à la grammaire Snowflake. |
LEAST |
LEAST |
|
LENGTH |
LENGTH |
|
LISTAGG |
LISTAGG |
La _ clause de dépassement _ est supprimée de la fonction. |
LN |
LN |
|
LNNVL |
*à définir |
|
LOCALTIMESTAMP |
LOCALTIMESTAMP |
|
LOG |
LOG |
|
LOWER |
LOWER |
|
LPAD |
LPAD |
|
LTRIM |
LTRIM |
|
MAKE_REF |
*à définir |
|
MAX |
MAX |
|
MEDIAN |
MEDIAN |
|
MIN |
MIN |
|
MOD |
MOD |
|
MONTHS_BETWEEN |
MONTHS_BETWEEN_UDF |
Convertie en une _ fonction définie par l’utilisateur _. |
NANVL |
*à définir |
|
NCHR |
*à définir |
|
NEW_TIME |
*à définir |
|
NEXT_DAY |
NEXT_DAY |
|
NLS_CHARSET_DESCL_LEN |
*à définir |
|
NLS_CHARSET_ID |
*à définir |
|
NLS_CHARSET_NAME |
*à définir |
|
NLS_COLLATION_ID |
*à définir |
|
NLS_COLLATION_NAME |
*à définir |
|
NLS_INITCAP |
*à définir |
|
NLS_LOWER |
*à définir |
|
NLS_UPPER |
*à définir |
|
NLSSORT |
<p>COLLATE</p><p>Non pris en charge</p> |
Lorsque la fonction se trouve en dehors d’une clause _ “where” _ ou _ “order by” _, elle n’est pas prise en charge et est convertie en stub _ “NLSSORT_STUB” _ et une erreur est ajoutée. Sinon, si la fonction se trouve dans une clause _ “where” _ ou _ “order by” _, elle est convertie en fonction _ COLLATE _. |
NTH_VALUE |
NTH_VALUE |
|
NTILE |
NTILE |
|
NULLIF |
NULLIF |
|
NUMTODSINTERVAL |
Non pris en charge |
Bien que la fonction elle-même ne soit pas prise en charge, certaines utilisations peuvent être migrées manuellement. Par exemple, DATEADD peut être utilisé pour migrer manuellement une somme entre une date/horodatage et cette fonction. |
NUMTOYMINTERVAL |
Non pris en charge |
Bien que la fonction elle-même ne soit pas prise en charge, certaines utilisations peuvent être migrées manuellement. Par exemple, DATEADD peut être utilisé pour migrer manuellement une somme entre une date/horodatage et cette fonction. |
NVL |
NVL |
|
NVL2 |
NVL2 |
|
ORA_DM_PARTITION_NAME |
*à définir |
|
ORA_DST_AFFECTED |
*à définir |
|
ORA_DST_CONVERTED |
*à définir |
|
ORA_DST_ERROR |
*à définir |
|
ORA_HASH |
Non pris en charge |
Convertie en stub _ “ORA_HASH_STUB” _ et une erreur est ajoutée. |
PATH |
*à définir |
|
PERCENT_RANK |
PERCENT_RANK |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
PERCENTILE_CONT |
PERCENTILE_CONT |
|
PERCENTILE_DISC |
PERCENTILE_DISC |
|
POWER |
POWER |
|
POWERMULTISET |
*à définir |
|
POWERMULTISET_BY_CARDINALITY |
*à définir |
|
PREDICTION |
*à définir |
|
PREDICTION_BOUNDS |
*à définir |
|
PREDICTION_COST |
*à définir |
|
PREDICTION_DETAILS |
*à définir |
|
PREDICTION_PROBABILITY |
*à définir |
|
PREDICTION_SET |
*à définir |
|
PRESENTNNV |
*à définir |
|
PRESENTV |
*à définir |
|
PREVIOUS |
*à définir |
|
RANK |
RANK |
Il existe deux types de syntaxe, _ syntaxe agrégée _, et _ syntaxe analytique _. La _ syntaxe d’agrégation _ n’est pas prise en charge et une erreur est ajoutée. La syntaxe analytique est prise en charge, mais le mot-clé _ “SIBLINGS” _ est supprimé de la _ clause _ _ “order by” _ et un avertissement est ajouté. |
RATIO_TO_REPORT |
RATIO_TO_REPORT |
|
RAWTOHEX |
*à définir |
|
RAWTONHEX |
*à définir |
|
REF |
*à définir |
|
REFTOHEX |
*à définir |
|
REGEXP_COUNT |
REGEXP_COUNT |
|
REGEXP_INSTR |
REGEXP_INSTR |
|
REGEXP_REPLACE |
REGEXP_REPLACE |
<p>Dans le paramètre <em><strong>replace_string</strong></em> (le troisième) est en cours d’ajout d’un symbole supplémentaire <strong>””</strong> pour échapper l’autre. Dans le paramètre <em><strong>match_param</strong></em> (dernier), l’équivalence fonctionne comme suit :<br><strong>”c” -> “c”</strong> <em>spécifie le caractère sensible à la casse </em><br><strong>”i” -> “i”</strong> <em>spécifie le caractère insensible à la casse</em><br><strong>”n” -> “s”</strong> <em>permet le point (.), qui est le caractère correspondant à n’importe quel caractère pour correspondre au caractère de nouvelle ligne</em><br><strong>”m” -> “m”</strong> <em>traite la chaîne source comme plusieurs lignes</em><br><strong>”x” -> “e”</strong> <em>ignore les caractères d’espacement</em></p> |
REGEXP_SUBSTR |
REGEXP_SUBSTR |
<p>Dans le paramètre <em><strong>replace_string</strong></em> (le second) est ajouté en tant que symbole supplémentaire <strong>””</strong> pour échapper l’autre. Dans le paramètre <em><strong>match_param</strong></em> l’équivalence fonctionne comme suit :<br><strong>”c” -> “c”</strong> <em>spécifie le caractère sensible à la casse</em><br><strong>”i” -> “i”</strong> <em>spécifie le caractère insensible à la casse</em><br><strong>”n” -> “s”</strong> <em>permet le point (.), qui est le caractère correspondant à n’importe quel caractère pour correspondre au caractère de nouvelle ligne</em><br><strong>”m” -> “m”</strong> <em>traite la chaîne source comme plusieurs lignes</em><br><strong>”x” -> “e”</strong> <em>ignore les caractères d’espacement</em></p> |
REGR |
REGR |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
REMAINDER |
*à définir |
|
REPLACE |
REPLACE |
|
REVERSE |
REVERSE |
|
ROUND |
ROUND |
|
ROUND_TIES_TO_EVEN |
*à définir |
|
ROW_NUMBER |
ROW_NUMBER |
|
RPAD |
RPAD |
|
ROWIDTOCHAR |
*à définir |
|
ROWIDTONCHAR |
*à définir |
|
RTRIM |
RTRIM |
|
SCN_TO_TIMESTAMP |
*à définir |
|
SESSIONTIMEZONE |
*à définir |
|
SET |
*à définir |
|
SIGN |
SIGN |
|
SINH |
SINH |
|
SKEWNESS_POP |
*à définir |
|
SKEWNESS_SAMP |
*à définir |
|
SOUNDEX |
SOUNDEX |
|
SQRT |
SQRT |
|
STANDARD_HASH |
*à définir |
|
STATS_BINOMIAL_TEST |
*à définir |
|
STATS_CROSSTAB |
*à définir |
|
STATS_F_TEST |
*à définir |
|
STATS_KS_TEST |
*à définir |
|
STATS_MODE |
*à définir |
|
STATS_MW_TEST |
*à définir |
|
STATS_ONE_WAY_ANOVA |
*à définir |
|
STATS_T_TEST |
*à définir |
|
STATS_WSR_TEST |
*à définir |
|
STDDEV |
STDDEV |
|
STDDEV_POP |
STDDEV_POP |
|
STDDEV_SAMP |
STDDEV_SAMP |
|
SUBSTR |
SUBSTR |
Tous les types de SUBSTR _ (SUBSTRB, SUBSTRC, SUBSTR2, SUBSTR4) _ sont convertis en SUBSTR |
SUM |
SUM |
|
SYS_CONNECT_BY_PATH |
*à définir |
|
SYS_CONTEXT |
<p>CURRENT_USER CURRENT_SCHEMA CURRENT_DATABASE IS_ROLE_IN_SESSION CURRENT_CLIENT CURRENT_SESSION<br>Non pris en charge</p> |
<p>En fonction des paramètres de la fonction SYS_CONTEXT, il est converti en l’une des fonctions spécifiées.<br><em><strong>”CURRENT_SCHEMA”</strong></em> converti en <em><strong>CURRENT_SCHEMA()</strong></em><br><br><em><strong>”CURRENT_USER”</strong></em> converti en <em><strong>CURRENT_USER()</strong></em><br><br><em><strong>”DB_NAME”</strong></em> converti en <em><strong>CURRENT_DATABASE()</strong></em><br><br><em><strong>”ISDBA”</strong></em> converti en <em><strong>IS_ROLE_IN_SESSION(“DBA”)</strong></em><br><br><em><strong>”SERVICE_NAME”</strong></em> converti en <em><strong>CURRENT_CLIENT()</strong></em><br><br><em><strong>”SESSIONID”</strong></em> converti en <em><strong>CURRENT_SESSION()</strong></em><br><br><em><strong>”GUEST”</strong></em> converti en <em><strong>IS_ROLE_IN_SESSION(“GUEST”)</strong></em><br><br><em><strong>”SESSION_USER”</strong></em> converti en <em><strong>CURRENT_USER()</strong></em><br><br><em><strong>”AUTHENTICATED_IDENTITY”</strong></em> converti en <em><strong>CURENT_USER()</strong></em></p><p><br>Lorsqu’un paramètre n’est pas pris en charge, il est converti en stub <em><strong>”SYS_CONTEXT_STUB”</strong></em></p> |
SYS_DBURIGEN |
*à définir |
|
SYS_EXTRACT_UTC |
*à définir |
|
SYS_GUID |
*à définir |
|
SYS_OP_ZONE_ID |
*à définir |
|
SYS_TYPEID |
*à définir |
|
SYS_XMLAGG |
*à définir |
|
SYS_XMLGEN |
*à définir |
|
TAN |
TAN |
|
TANH |
TANH |
|
TIMESTAMP_TO_SCN |
*à définir |
|
TO_APPROX_COUNT_DISTINCT |
*à définir |
|
TO_APPROX_PERCENTILE |
*à définir |
|
TO_BINARY_DOUBLE |
*à définir |
|
TO_BINARY_FLOAT |
*à définir |
|
TO_BLOB (bfile) |
*à définir |
|
TO_BLOB (raw) |
*à définir |
|
TO_CHAR (character) |
TO_CHAR |
|
TO_CHAR (datetime) |
<p>Expression conditionnelle TO_CHAR(datetime) (CASE)<br>Non prise en charge</p> |
En fonction du paramètre de format, la fonction est convertie en expression conditionnelle _ (CASE WHEN) _ ou en _ fonction définie par l’utilisateur _ ou conservée en tant que _ TO_CHAR(datetime) _. Parfois, la fonction se situe entre une autre fonction pour obtenir un résultat équivalent. Lorsque la fonction n’est pas prise en charge, elle est convertie en stub _ “TO_CHAR_STUB” _. Consultez la page To\NChar(datetime) pour obtenir plus d’informations sur cette fonction. |
TO_CHAR (number) |
TO_CHAR (number) |
Si le paramètre _ numeric _ est du type _ double _ ou _ float _ la fonction est commentée et une erreur est ajoutée. Lorsqu’il s’agit d’un format non pris en charge, le paramètre _ format _ est supprimé de la fonction et une erreur est ajoutée. Formats non pris en charge : _ C L PR RN TM U V _. Si la fonction possède le paramètre _ nlsparam _, celui-ci est supprimé de la fonction et une erreur est ajoutée. |
TO_CLOB ( bfile | blob ) |
TO_VARCHAR |
Génère un avertissement pour indiquer que les paramètres _ bfile/blob _ sont considérés comme _ binaires _. Il génère également une erreur lorsque la fonction a plus d’un paramètre. |
TO_CLOB (character) |
TO_VARCHAR |
Génère un avertissement pour indiquer que les paramètres _ bfile/blob _ sont considérés comme _ binaires _. Il génère également une erreur lorsque la fonction a plus d’un paramètre. |
TO_DATE |
TO_DATE |
<p>Quand vient un <em><strong>format</strong></em> non prise en charge, la fonction est commentée et une erreur est ajoutée. Formats non pris en charge : <em><strong>FXFMDD-MON-YYYY</strong></em><br><em><strong>J</strong></em><br><em><strong>DDD</strong></em><br><em><strong>MONTH</strong></em><br><em><strong>RM</strong></em><br><em><strong>DD-MON-RR</strong></em><br><em><strong>DD-MON-RRRR</strong></em><br><em><strong>SSSSS</strong></em><br><em><strong>YYYY</strong></em><br><em><strong>YYY</strong></em><br><em><strong>Y</strong></em></p> |
TO_DSINTERVAL |
*à définir |
|
TO_LOB |
*à définir |
|
TO_MULTI_BYTE |
*à définir |
|
TO_NCHAR |
*à définir |
|
TO_NCHAR (datetime) |
*à définir |
|
TO_NCLOB |
*à définir |
|
TO_NUMBER |
<p>TO_NUMBER</p><p>Non pris en charge</p> |
<p>L’instruction “<em><strong>DEFAULT integer ON CONVERSION ERROR”</strong></em> est supprimée et produit une erreur,</p><p>Converti en stub <em><strong>TO_NUMBER_STUB</strong></em> et une erreur est ajoutée lorsque le paramètre <em><strong>”format”</strong></em> n’est pas pris en charge et aussi lorsque la fonction a le paramètre <em><strong>”nlsparam”</strong></em>.</p> |
TO_SINGLE_BYTE |
*à définir |
|
TO_TIMESTAMP |
TO_DATE |
<p>Quand vient un <em><strong>format</strong></em> non prise en charge, la fonction est commentée et une erreur est ajoutée. Formats non pris en charge : <em><strong>FXFMDD-MON-YYYY</strong></em><br><em><strong>J</strong></em><br><em><strong>DDD</strong></em><br><em><strong>MONTH</strong></em><br><em><strong>RM</strong></em><br><em><strong>DD-MON-RR</strong></em><br><em><strong>DD-MON-RRRR</strong></em><br><em><strong>SSSSS</strong></em><br><em><strong>YYYY</strong></em><br><em><strong>YYY</strong></em><br><em><strong>Y</strong></em></p> |
TO_TIMESTAMP_TZ |
TO_DATE |
<p>Quand vient un <em><strong>format</strong></em> non prise en charge, la fonction est commentée et une erreur est ajoutée. Formats non pris en charge : <em><strong>FXFMDD-MON-YYYY</strong></em><br><em><strong>J</strong></em><br><em><strong>DDD</strong></em><br><em><strong>MONTH</strong></em><br><em><strong>RM</strong></em><br><em><strong>DD-MON-RR</strong></em><br><em><strong>DD-MON-RRRR</strong></em><br><em><strong>SSSSS</strong></em><br><em><strong>YYYY</strong></em><br><em><strong>YYY</strong></em><br><em><strong>Y</strong></em></p> |
TO_UTC_TIMESTAMP_TZ |
*à définir |
|
TO_YMINTERVAL |
*à définir |
|
TRANSLATE |
TRANSLATE |
|
TRANSLATE_USING |
TRANSLATE_USING |
|
TREAT |
*à définir |
|
TRIM |
TRIM LTRIM RTRIM |
<p>Selon le premier paramètre, elle sera convertie en :mot-clé <br><em><strong>LEADING</strong></em> -> mot-clé <em><strong>LTRIM TRAILING</strong></em> -> mot-clé<em><strong>RTRIM BOTH</strong></em> -> mot-clé <em> <strong>TRIM</strong></em><br>Aucun de ces mots-clés -> conserver comme fonction <strong>TRIM</strong>. En outre, l’ordre du paramètre <em><strong>”trogsource”</strong></em> et du paramètre <strong>”rogcaractère</strong>” est inversé et le mot-clé <em><strong>FROM</strong></em> est supprimé de la fonction.</p> |
TRUNC (date) |
TRUNC(date) |
_”DAY” _ L’expression est ajoutée en tant que deuxième paramètre de la fonction. |
TRUNC (number) |
TRUNC(number) |
|
TZ_OFFSET |
*à définir |
|
UID |
*à définir |
|
UNISTR |
TO_VARCHAR(expr) |
Dans le paramètre _ expr _ est ajoutée la lettre “u” après chaque symbole “'. |
UPPER |
UPPER |
|
USER |
*à définir |
|
USERNV |
*à définir |
|
VALIDATE_CONVERSION |
*à définir |
|
VALUE |
Non pris en charge |
Convertie en stub _ “VALUE_STUB” _ et une erreur est ajoutée. |
VAR_POP |
VAR_POP |
|
VAR_SAMP |
VAR_SAMP |
|
VARIANCE |
VARIANCE |
Un avertissement est ajouté pour indiquer que la contrepartie de Snowflake peut ne pas être équivalente sur le plan fonctionnel. |
VSIZE |
*à définir |
|
WIDTH_BUCKET |
WIDTH_BUCKET |
|
XMLAGG |
*à définir |
|
XMLCAST |
*à définir |
|
XMLCDATA |
*à définir |
|
XMLCOLATVAL |
*à définir |
|
XMLCOMMENT |
*à définir |
|
XMLCONCAT |
*à définir |
|
XMLDIFF |
*à définir |
|
XMLELEMENT |
*à définir |
|
XMLEXISTS |
*à définir |
|
XMLFOREST |
*à définir |
|
XMLISVALID |
*à définir |
|
XMLPARSE |
*à définir |
|
XMLPATCH |
*à définir |
|
XMLPI |
*à définir |
|
XMLQUERY |
Non pris en charge |
|
XMLSEQUENCE |
Non pris en charge |
Convertie en stub _ “XMLSEQUENCE_STUB” _ et une erreur est ajoutée. |
XMLSERIALIZE |
*à définir |
|
XMLTABLE |
Non pris en charge |
Génère une erreur : _ XMLTABLE IS NOT SUPPORTED _. |
XMLTRANSFORM |
*à définir |
Détails des fonctions.¶
To_Char(datetime)¶
Selon le paramètre de format, la fonction sera convertie en :
Format |
Conversion |
|---|---|
<p>AD ou BC</p><p>A.D. ou B.C.</p> |
<p>La fonction sera convertie en expression conditionnelle <em><strong></strong></em> <em><strong>(CASE)</strong></em><br>où le <strong>format</strong> est ajouté à la condition <em><strong>”when”</strong></em>.<br><strong>Par exemple :</strong><br><code>de : To_CharDATE “1998-12-25”, “AD”)</code><br><code>à : CASE WHEN YEAR(DATE “1998-12-25”) #x3C; 0 THEN</code><strong><code>”BC”</code></strong></p> |
CC ou SCC |
<p>La fonction sera convertie en expression conditionnelle <em><strong></strong></em> où :<br>le corps de la fonction d’origine est ajouté en tant que condition <em><strong>when</strong></em>, mais elle sera comprise entre</p><p>une fonction <em><strong>MOD</strong></em> après que la fonction d’origine a été ajoutée en tant que résultat <em><strong>then</strong></em>, mais<br>contenu par une fonction <em><strong>SUBSTR</strong></em>.<br><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”CC”)</code><br><code>à : CASE WHEN MOD(YEAR(DATE “1998-12-25”), 100) = 0</code><br><code>THEN SUBSTR(TO_CHAR(DATE “1998-12-25”, “YYYY”), 1, 2)</code></p> |
D |
<p>La fonction sera convertie en fonction Snowflake équivalente, mais<br>le corps de la fonction sera entre la partie d’horodatage <em><strong>DAYOFWEEK</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”D”)</code></p><p><code>à : TO_CHAR(DAYOFWEEK(DATE “1998-12-25”) + 1)</code></p> |
DAY |
<p>La fonction sera convertie en fonction définie par l’utilisateur <em><strong></strong></em> à l’intérieur d’une fonction <em><strong>UPPER</strong></em><br>.<br><strong>Par exemple :</strong><br><code>de : To_Char(DATE “1998-12-25”,”DAY”)</code></p><p><code>à : UPPER(SNOWCONVERT.PUBLIC.FULL_DAY_NAME_UDF(DATE “1998-12-25”))</code></p> |
DDD |
<p>La fonction sera convertie en fonction Snowflake équivalente, mais<br>le corps de la fonction sera entre la partie d’horodatage <em><strong>DAYOFYEAR</strong></em>.</p><p><strong>Par exemple :</strong><br><code>de : To_Char(DATE “1998-12-25”,”DDD”)</code></p><p><code>à : TO_CHAR(DAYOFYEAR(DATE “1998-12-25”))</code></p> |
DD-MON-RR |
<p>La fonction sera convertie en fonction Snowflake équivalente en conservant le corps de la fonction</p><p>, mais en changeant le format en : <em>”DD-MON-YY”.</em></p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”DD-MON-RR”)</code></p><p><code>à : To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”DD-MON-YY”)</code></p> |
DL |
<p>La fonction sera convertie en fonction définie par l’utilisateur <em><strong></strong></em> plus l’opérateur <em><strong>”OR”</strong></em> <br>plus l’équivalent Snowflake conservant le corps de la fonction mais modifiant le format</p><p>en : <em>”<strong>, MMM DD, YYYY</strong></em></p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”DL”)</code></p><p><code>to: SNOWCONVERT.PUBLIC.FULL_DAY_NAME_UDF(DATE “1998-12-25”)</code></p> |
DS |
<p>la fonction sera convertie en une combinaison de l’équivalent de la fonction Snowflake</p><p>à l’intérieur de la fonction <em><strong>LTRIM</strong></em> et l’équivalent de la fonction Snowflake.</p><p>Toutes les parties combinées avec l’opérateur <em><strong>”OR”</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”DS”)</code></p><p><code>to: LTRIM(TO_CHAR(DATE “1998-12-25”, “MM”), “0”)</code></p> |
DY |
<p>La fonction sera convertie en équivalent de la fonction Snowflake</p><p>à l’intérieur de la fonction <em><strong>UPPER</strong></em>.</p><p><strong>Par exemple :</strong><br><code>de : To_Char(DATE “1998-12-25”,”DY”)</code><br><code>à : UPPER(TO_CHAR(DATE “1998-12-25”, “DY”))</code></p> |
I |
<p>La fonction sera convertie dans l’équivalent de la fonction Snowflake</p><p>à l’intérieur de la fonction <em><strong>SUBSTR</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”I”)</code></p><p><code>à : SUBSTR(TO_CHAR(DATE “1998-12-25”, “YYYY”), 4, 1)</code></p> |
IW |
<p>La fonction sera convertie en fonction Snowflake équivalente, mais<br>le corps de la fonction sera compris entre la partie d’horodatage <em><strong>WEEKISO</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de :To_Char(DATE ’1998-12-25’, ’IW”)</code></p><p><code>à : TO_CHAR(WEEKISO(DATE ’1998-12-25’)</code></p> |
IY |
<p>La fonction sera convertie en fonction Snowflake équivalente en conservant corps de la fonction</p><p>, mais en changeant le format en : <em><strong>”YY”</strong>.</em></p><p><strong>Par exemple :</strong></p><p><code>de :To_Char(DATE “1998-12-25”, “IY”)</code></p><p><code>à : TO_CHAR(DATE “1998-12-25”, “YY”)</code></p> |
IYY |
<p>La fonction sera convertie en fonction équivalente Snowflake</p><p>à l’intérieur de la fonction <em><strong>SUBSTR</strong></em> et change le format en : <em><strong>”YYYY”</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”IYY”)</code></p><p><code>to: SUBSTR(TO_CHAR(DATE “1998-12-25”, “YYYY”), 2, 3)</code></p> |
IYYY |
<p>La fonction sera convertie en fonction Snowflake équivalente en conservant corps de la fonction</p><p>, mais en changeant le format en : <em><strong>”YYYY”</strong>.</em></p><p><strong>Par exemple :</strong></p><p><code>de :To_Char(DATE “1998-12-25”, “IYYY”)</code></p><p><code>à : TO_CHAR(DATE “1998-12-25”, “YYYY”)</code></p> |
J |
<p>La fonction sera convertie en une expression conditionnelle avec “BC” comme résultat <em><strong>”then”</strong></em></p><p> et <em><strong>”AD</strong></em>” comme résultat else.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”J”)</code></p><p><code>à :</code> DATE_TO_JULIANDAYS_UDF(DATE “1998-12-25”)</p> |
MI |
<p>La fonction sera convertie en équivalent Snowflake. Si l’argument de la fonction</p><p> est <em><strong>SYSDATE</strong></em> elle sera changée en <em><strong>CURRENT_TIMESTAMP</strong></em>, sinon,</p><p>si l’argument est de type date, la fonction retournera null.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(SYSDATE,”MI”);</code></p><p><code>à : To_Char(CURRENT_TIMESTAMP,”MI”)</code></p> |
MON |
<p>La fonction sera convertie en fonction équivalente Snowflake<br>à l’intérieur de la fonction <em><strong>UPPER</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”MON”)</code></p><p><code>to: UPPER(TO_CHAR(DATE “1998-12-25”, “MON”))</code></p> |
MONTH |
<p>La fonction sera convertie en fonction équivalente Snowflake</p><p>à l’intérieur de la fonction <em><strong>UPPER</strong></em> et change le format en : <em><strong>”MMMM”</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”MONTH”)</code></p><p><code>to: UPPER(TO_CHAR(DATE “1998-12-25”, “MMMM”))</code></p> |
Q |
<p>La fonction sera convertie en fonction équivalente Snowflake<br>à l’intérieur de la fonction <em><strong>QUARTER</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”Q”)</code></p><p><code>to: TO_CHAR(QUARTER(DATE “1998-12-25”))</code></p> |
RM |
<p>La fonction sera convertie en fonction définie par l’utilisateur <em><strong>.</strong></em></p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”RM”)</code></p><p><code>to: SNOWCONVERT.PUBLIC.ROMAN_MONTH_UDF(DATE “1998-12-25”)</code></p> |
RR |
<p>La fonction sera convertie en fonction Snowflake équivalente en conservant le corps de la fonction</p><p>, mais en changeant le format en : <em><strong>”YY”</strong>.</em></p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”RR”)</code></p><p><code>to: TO_CHAR(DATE “1998-12-25”, “YY”)</code></p> |
RR-MON-DD |
<p>La fonction sera convertie en fonction Snowflake équivalente en conservant le corps de la fonction</p><p>, mais en changeant le format en : <em><strong>”YY-MON-DD”</strong>.</em></p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”RR-MON-DD”)</code></p><p><code>à : To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”YY-MON-DD”)</code></p> |
RRRR |
<p>La fonction sera convertie en fonction Snowflake équivalente en conservant le corps de la fonction</p><p>, mais en changeant le format en : <em><strong>”YYYY”</strong>.</em></p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”RRRR”)</code></p><p><code>to: TO_CHAR(DATE “1998-12-25”, “YYYY”)</code></p> |
SS |
<p>La fonction sera convertie en une combinaison d’une <em><strong>expression conditionnelle</strong></em><br>et de la fonction équivalente Snowflake.</p><p>Toutes les parties combinées avec l’opérateur <em><strong>”OR”</strong></em>.<br><strong>Par exemple :</strong><br><code>de : To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”SS”)</code></p><p><code>to: CASE WHEN SECOND(TIMESTAMP “1998-12-25 09:26:50.12”) = 0</code><br><code>THEN “00” WHEN SECOND(TIMESTAMP “1998-12-25 09:26:50.12”) < 10</code><br><code>THEN “0”</code></p> |
SSSS |
<p>La fonction sera convertie en fonction Snowflake équivalente, mais</p><p>le corps de la fonction sera une concaténation des parties d’horodatage <em><strong>SECOND</strong></em>, <em><strong>MINUTE,</strong></em> et <em><strong>HOUR</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”SSSS”)</code></p><p><code>à : TO_CHAR(SECOND(TIMESTAMP “1998-12-25 09:26:50.12”) +</code><br><code>MINUTE(TIMESTAMP “1998-12-25 09:26:50.12”) * 60 +</code><br><code>HOUR(TIMESTAMP “1998-12-25 09:26:50.12”) * 3600)</code></p> |
TS |
<p>La fonction sera convertie en fonction Snowflake équivalente en conservant corps de la fonction</p><p>, mais en changeant le format en : <em><strong>”HH:MI:SS PM”</strong>.</em></p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”TS”)</code></p><p><code>to: TO_CHAR(TIMESTAMP “1998-12-25 09:26:50.12”, “HH:MI:SS PM”)</code></p> |
W |
<p>La fonction sera convertie en fonction <em><strong>TRUNC</strong></em> avec la partie d’horodatage <em><strong>DAYOFMONTH</strong></em><br>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”W”)</code></p><p><code>to: TRUNC(DAYOFMONTH(DATE “1998-12-25”) / 7 + 1)</code></p> |
WW |
<p>La fonction sera convertie en fonction <em><strong>TRUNC</strong></em> avec la partie d’horodatage <em><strong>DAYOFYEAR</strong></em><br>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”WW”)</code></p><p><code>à : TRUNC(DAYOFYEAR(DATE “1998-12-25”) / 7 + 1)</code></p> |
Y YYY |
<p>La fonction sera convertie en fonction équivalente Snowflake</p><p>à l’intérieur de la fonction <em><strong>SUBSTR</strong></em> et change le format en : <em><strong>”YYYY”</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”Y”)</code></p><p><code>à : SUBSTR(TO_CHAR(DATE “1998-12-25”, “YYYY”), 4, 1)</code></p> |
Y,YYY |
<p>La fonction sera convertie en une combinaison de la fonction Snowflake<br>équivalente à l’intérieur de la fonction <strong>SUBSTR</strong>et un symbole de virgule.<br>Toutes les parties combinées avec l’opérateur <em><strong>”OR”</strong></em>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”Y,YYY”)</code></p><p><code>à : SUBSTR(TO_CHAR(YEAR(DATE “1998-12-25”)), 1, 1)</code></p> |
YEAR SYEAR |
<p>La fonction sera convertie en <em><strong>fonction définie par l’utilisateur</strong></em> à l’intérieur d’une fonction <em><strong>UPPER</strong></em><br>.</p><p><strong>Par exemple :</strong></p><p><code>de : To_Char(DATE “1998-12-25”,”YEAR”)</code></p><p><code>à : UPPER(SNOWCONVERT.PUBLIC.YEAR_NAME_UDF(DATE “1998-12-25”))</code></p> |
MAX KEEP DENSE_RANK¶
Description¶
La fonction Oracle MAX KEEP DENSE_RANK est une fonction d’agrégation qui renvoie la valeur maximale d’un ensemble de valeurs, en ne considérant que les lignes ayant le premier (le plus petit) rang, selon l’ordre spécifié. La clause KEEP (DENSE_RANK FIRST ORDER BY ...) filtre les lignes pour n’inclure que celles qui ont la plus petite valeur de rang avant d’appliquer la fonction MAX. (Documentation fonctions d’agrégation Oracle).
Modèle de source d’échantillon¶
Syntaxe¶
Oracle¶
MAX(expression) KEEP (DENSE_RANK FIRST ORDER BY order_by_expression [ASC|DESC])
Snowflake SQL¶
FIRST_VALUE(expression) OVER (ORDER BY order_by_expression [ASC|DESC])
Exemples¶
Oracle¶
Code :
SELECT department_id,
MAX(salary) KEEP (DENSE_RANK FIRST ORDER BY hire_date) AS first_hired_max_salary
FROM employees
GROUP BY department_id;
Snowflake SQL¶
Code :
SELECT department_id,
FIRST_VALUE(salary)
OVER (
ORDER BY hire_date) AS first_hired_max_salary
FROM
employees
GROUP BY department_id;
Note
Pour assurer un ordre déterministe des lignes dans les résultats d’une fonction de fenêtre, la clause ORDER BY doit inclure une clé ou une combinaison de clés qui rend chaque ligne unique.
MIN KEEP DENSE_RANK¶
Description¶
La fonction Oracle MIN KEEP DENSE_RANK est une fonction d’agrégation qui renvoie la valeur minimale d’un ensemble de valeurs, en ne considérant que les lignes ayant le dernier rang (le plus élevé) selon l’ordre spécifié. La clause KEEP (DENSE_RANK LAST ORDER BY ...) filtre les lignes pour n’inclure que celles dont la valeur de rang est la plus élevée avant d’appliquer la fonction MIN. (Documentation des fonctions d’agrégation Oracle).
Modèle de source d’échantillon¶
Syntaxe¶
Oracle¶
MIN(expression) KEEP (DENSE_RANK LAST ORDER BY order_by_expression [ASC|DESC])
Snowflake SQL¶
LAST_VALUE(expression) OVER (ORDER BY order_by_expression [ASC|DESC])
Exemples¶
Oracle¶
Code :
SELECT department_id,
MIN(salary) KEEP (DENSE_RANK LAST ORDER BY hire_date) AS first_hired_min_salary
FROM employees
GROUP BY department_id;
Snowflake SQL¶
Code :
SELECT department_id,
LAST_VALUE(salary)
OVER (
ORDER BY hire_date) AS first_hired_min_salary
FROM
employees
GROUP BY department_id;
Note
Pour assurer un ordre déterministe des lignes dans les résultats d’une fonction de fenêtre, la clause ORDER BY doit inclure une clé ou une combinaison de clés qui rend chaque ligne unique.
NLSSORT¶
Description¶
NLSSORT renvoie une clé de classement pour la valeur du caractère char et un classement spécifié explicitement ou implicitement. Une clé de classement est une chaîne d’octets utilisée pour trier les caractères en fonction du classement spécifié. La propriété des clés de classement est que l’ordre mutuel de deux clés de ce type générées pour le classement donné lorsqu’elles sont comparées en fonction de leur ordre binaire est le même que l’ordre mutuel des valeurs des caractères source lorsqu’elles sont comparées en fonction de du classement donné. (NLSSORT dans Oracle).
Modèle de source d’échantillon¶
Syntaxe¶
Oracle¶
NLSSORT(char [, 'nlsparam' ])
Snowflake SQL¶
COLLATE(<string_expression>, '<collation_specification>')
Exemples¶
Oracle¶
Code :
CREATE TABLE test (name VARCHAR2(15));
INSERT INTO test VALUES ('Gaardiner');
INSERT INTO test VALUES ('Gaberd');
INSERT INTO test VALUES ('Gaasten');
SELECT *
FROM test
ORDER BY NLSSORT(name, 'NLS_SORT = XDanish');
Résultat :
NAME |
|---|
Gaberd |
Gaardiner. |
Gaasen |
Snowflake SQL¶
Code :
CREATE OR REPLACE TABLE test (name VARCHAR(15))
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"oracle"}}'
;
INSERT INTO test
VALUES ('Gaardiner');
INSERT INTO test
VALUES ('Gaberd');
INSERT INTO test
VALUES ('Gaasten');
SELECT *
FROM
test
ORDER BY
COLLATE(name, '');
Résultat :
NAME |
|---|
Gaberd |
Gaardiner |
Gaasen |
TO_NUMBER¶
Description¶
Convertit une expression d’entrée en un nombre à point fixe. Pour une entrée NULL, la sortie est NULL.
Arguments¶
Obligatoire :
&#xNAN;<expr>
Expression de type numérique, caractère ou variante.
Facultatif :
_ <format>_
Le modèle de format SQL utilisé pour analyser l’entrée _ expr_ et retourner. Pour plus d’informations, voir Modèles de format SQL.
_ <precision>_
Le nombre maximal de chiffres décimaux dans le nombre résultant ; de 1 à 38. Dans Snowflake, la précision n’est pas utilisée pour déterminer le nombre d’octets nécessaires à l’enregistrement du nombre et n’a pas d’incidence sur l’efficacité. La valeur par défaut est donc le maximum (38).
_ <scale>_
Le nombre de chiffres décimaux fractionnaires (de 0 à _ precision_ - 1). 0 indique qu’il n’y a pas de chiffres fractionnaires (c’est-à-dire un nombre entier). L’échelle par défaut est 0.
Renvoie¶
La fonction renvoie NUMBER(_ precision_ ,`` _ scale_ ).
Si _
precision_ n’est pas spécifié, la valeur par défaut est 38.Si _
scale_ n’est pas spécifié, la valeur par défaut est 0.
\ Pour plus d’informations, consultez TO_NUMBER dans la documentation Snowflake.
SELECT CAST('123,456E+40' AS NUMBER, '999,999EEE') FROM DUAL;
SELECT CAST('12sdsd3,456E+40' AS NUMBER, '999,999EEE') FROM DUAL;
SELECT CAST('12345sdsd' AS NUMBER, '99999') FROM DUAL;
SELECT CAST('12.345678912345678912345678912345678912' AS NUMBER, '99.999999999999999999999999999999999999') FROM DUAL;
SELECT CAST(' 12.345678912345678912345678912345678912' AS NUMBER, '99.999999999999999999999999999999999999') FROM DUAL;
SELECT CAST(' -12.345678912345678912345678912345678912' AS NUMBER, '99.999999999999999999999999999999999999') FROM DUAL;
SELECT CAST('12.34567891234567891234567891234567891267' AS NUMBER, '99.999999999999999999999999999999999999') FROM DUAL;
SELECT CAST('123.456E-40' AS NUMBER, '999.9999EEE') FROM DUAL;
select cast('12,345,678,912,345,678,912,345,678,912,345,678,912' as number, '99,999,999,999,999,999,999,999,999,999,999,999,999') from dual;
SELECT CAST(' 123.456E-40' AS NUMBER, '999.9999EEE') FROM DUAL;
select cast(' 12,345,678,912,345,678,912,345,678,912,345.678912' as number, '99,999,999,999,999,999,999,999,999,999,999.999999') from dual;
SELECT CAST('12.34567891234567891234567891234567891267+' AS NUMBER, '99.999999999999999999999999999999999999S') FROM DUAL;
select cast('12,345,678,912,345,678,912,345,678,912,345,678,912+' as number, '99,999,999,999,999,999,999,999,999,999,999,999,999S') from dual;
select cast('12.48+' as number, '99.99S') from dual;
select cast(' 12.48+' as number, '99.99S') from dual;
select cast('12.48+ ' as number, '99.99S') from dual;
SELECT CAST('123.456+E-2' AS NUMBER, '999.9999SEEE') FROM DUAL;
SELECT CAST('123.456+E-2-' AS NUMBER, '999.9999SEEE') FROM DUAL;
SELECT CAST('12356-' AS NUMBER, '99999S') FROM DUAL;
select cast(' 1.0E+123' as number, '9.9EEEE') from dual;
select cast('1.2E+02' as number, 'FM9.9EEEE') from dual;
select cast('123.45' as number, 'FM999.009') from dual;
select cast('123.00' as number, 'FM999.009') from dual;
select cast(' $123.45' as number, 'L999.99') from dual;
select cast('$123.45' as number, 'FML999.99') from dual;
select cast('1234567890+' as number, '9999999999S') from dual;
SELECT
!!!RESOLVE EWI!!! /*** SSC-EWI-OR0050 - INPUT EXPRESSION IS OUT OF THE RANGE '123,456E+40' ***/!!!
CAST('123,456E+40' AS NUMBER(38, 18) , '999,999EEE') FROM DUAL;
SELECT
!!!RESOLVE EWI!!! /*** SSC-EWI-OR0053 - INCORRECT INPUT FORMAT '12sdsd3,456E+40' ***/!!! CAST('12sdsd3,456E+40' AS NUMBER(38, 18) , '999,999EEE') FROM DUAL;
SELECT
!!!RESOLVE EWI!!! /*** SSC-EWI-OR0053 - INCORRECT INPUT FORMAT '12345sdsd' ***/!!! CAST('12345sdsd' AS NUMBER(38, 18) , '99999') FROM DUAL;
SELECT
TO_NUMBER('12.345678912345678912345678912345678912', '99.999999999999999999999999999999999999', 38, 36)
FROM DUAL;
SELECT
TO_NUMBER(' 12.345678912345678912345678912345678912', '99.999999999999999999999999999999999999', 38, 36)
FROM DUAL;
SELECT
TO_NUMBER(' -12.345678912345678912345678912345678912', '99.999999999999999999999999999999999999', 38, 36)
FROM DUAL;
SELECT
!!!RESOLVE EWI!!! /*** SSC-EWI-OR0050 - INPUT EXPRESSION IS OUT OF THE RANGE '12.34567891234567891234567891234567891267' ***/!!! CAST('12.34567891234567891234567891234567891267' AS NUMBER(38, 18) , '99.999999999999999999999999999999999999') FROM DUAL;
SELECT
TO_NUMBER('123.456E-40', '999.9999EEE', 38, 37)
FROM DUAL;
select
TO_NUMBER('12,345,678,912,345,678,912,345,678,912,345,678,912', '99,999,999,999,999,999,999,999,999,999,999,999,999', 38, 0)
from dual;
SELECT
TO_NUMBER(' 123.456E-40', '999.9999EEE', 38, 37)
FROM DUAL;
select
TO_NUMBER(' 12,345,678,912,345,678,912,345,678,912,345.678912', '99,999,999,999,999,999,999,999,999,999,999.999999', 38, 6)
from dual;
SELECT
!!!RESOLVE EWI!!! /*** SSC-EWI-OR0050 - INPUT EXPRESSION IS OUT OF THE RANGE '12.34567891234567891234567891234567891267+' ***/!!! CAST('12.34567891234567891234567891234567891267+' AS NUMBER(38, 18) , '99.999999999999999999999999999999999999S') FROM DUAL;
select
TO_NUMBER('12,345,678,912,345,678,912,345,678,912,345,678,912+', '99,999,999,999,999,999,999,999,999,999,999,999,999S', 38, 0)
from dual;
select
TO_NUMBER('12.48+', '99.99S', 38, 2)
from dual;
select
TO_NUMBER(' 12.48+', '99.99S', 38, 2)
from dual;
select
TO_NUMBER('12.48+ ', '99.99S', 38, 2)
from dual;
SELECT
TO_NUMBER('123.456+E-2', '999.9999SEEE', 38, 5)
FROM DUAL;
SELECT
!!!RESOLVE EWI!!! /*** SSC-EWI-OR0053 - INCORRECT INPUT FORMAT '123.456+E-2-' ***/!!! CAST('123.456+E-2-' AS NUMBER(38, 18) , '999.9999SEEE') FROM DUAL;
SELECT
TO_NUMBER('12356-', '99999S', 38, 0)
FROM DUAL;
select
!!!RESOLVE EWI!!! /*** SSC-EWI-OR0050 - INPUT EXPRESSION IS OUT OF THE RANGE ' 1.0E+123' ***/!!! cast(' 1.0E+123' as NUMBER(38, 18) , '9.9EEEE') from dual;
select
TO_NUMBER('1.2E+02', 'FM9.9EEEE', 38, 0)
from dual;
select
TO_NUMBER('123.45', 'FM999.009', 38, 2)
from dual;
select
TO_NUMBER('123.00', 'FM999.009', 38, 2)
from dual;
select
!!!RESOLVE EWI!!! /*** SSC-EWI-OR0045 - CAST TYPE L AND FML NOT SUPPORTED ***/!!! cast(' $123.45' as NUMBER(38, 18) , 'L999.99') from dual;
select
!!!RESOLVE EWI!!! /*** SSC-EWI-OR0045 - CAST TYPE L AND FML NOT SUPPORTED ***/!!! cast('$123.45' as NUMBER(38, 18) , 'FML999.99') from dual;
select
TO_NUMBER('1234567890+', '9999999999S', 38, 0)
from dual;
Recommandations¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.