SnowConvert AI - Oracle - Funções internas¶
Esta seção mostra os equivalentes entre as funções no Oracle e no Snowflake.
Oracle |
Snowflake |
Notas |
|---|---|---|
ABS |
ABS |
|
ACOS |
ACOS |
|
ADD_MONTHS |
ADD_MONTHS |
|
ANY_VALUE |
ANY_VALUE |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
APPROX_COUNT |
*a ser definido |
|
APPROX_COUNT_DISTINCT |
APPROX_COUNT_DISTINCT |
|
APPROX_COUNT_DISTINCT_AGG |
*a ser definido |
|
APPROX_COUNT_DISTINCT_DETAIL |
*a ser definido |
|
APPROX_MEDIAN |
*a ser definido |
|
APPROX_PERCENTILE |
APPROX_PERCENTILE |
|
APPROX_PERCENTILE_AGG |
*a ser definido |
|
APPROX_PERCENTILE_DETAIL |
*a ser definido |
|
APPROX_RANK |
*a ser definido |
|
APPROX_SUM |
*a ser definido |
|
ASCII |
ASCII |
|
ASCIISTR |
*a ser definido |
|
ASIN |
ASIN |
|
ATAN |
ATAN |
|
ATAN2 |
ATAN2 |
|
AVG |
AVG |
|
BFILENAME |
*a ser definido |
|
BIN_TO_NUM |
*a ser definido |
|
BITAND |
BITAND |
|
BIT_AND_AGG |
BITAND_AGG |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
BITMAP_BIT_POSITION |
BITMAP_BIT_POSITION |
|
BITMAP_BUCKET_NUMBER |
BITMAP_BUCKET_NUMBER |
|
BITMAP_CONSTRUCT___AGG |
BITMAP_CONSTRUCT___AGG |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
BITMAP_COUNT |
BITMAP_BIT_COUNT |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
BITMAP_OR_AGG |
BITMAP_OR___AGG |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
BIT_OR_AGG |
BIT_OR_AGG |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
BIT_XOR_AGG |
BIT_XOR_AGG |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
CARDINALITY |
*a ser definido |
|
CAST |
<p>CAST</p><p>TO_DATE</p><p>TO_NUMBER</p><p>TO_TIMESTAMP</p><p>Não suportado</p> |
A função é convertida em um esboço _ “CAST_STUB” _ e gera um erro, quando vem com uma das seguintes instruções não suportadas: _ “DEFAULT ON CONVERSION ERROR” _ ou _ “MULTISET” _. Além disso, ele é convertido em um stub e gera um erro se o tipo de dados não for compatível. A função é convertida para a função _ “TO_NUMBER” _ quando a expressão a ser convertida é do tipo _ number _ e gera um erro indicando que não é possível fazer a conversão explícita. A função é convertida para a função _ “TO_DATE” _ quando a expressão a ser convertida é do tipo _ date _ e gera um erro indicando que não é possível fazer a conversão explícita. A função é convertida para a função _ “TO_TIMESTAMP” _ quando a expressão a ser convertida é do tipo _ timestamp _ e gera um erro indicando que não é possível fazer a conversão explícita. |
CEIL |
CEIL |
|
CHARTOROWID |
*a ser definido |
|
CHECKSUM |
*a ser definido |
|
CHR |
CHR |
a instrução USING NCHAR_CS _ não é compatível com a função equivalente do Snowflake. A cláusula foi removida. |
CLUSTER_DETAILS |
*a ser definido |
|
CLUSTER_DISTANCE |
*a ser definido |
|
CLUSTER_ID |
*a ser definido |
|
CLUSTER_PROBABILITY |
*a ser definido |
|
CLUSTER_SET |
*a ser definido |
|
COALESCE |
COALESCE |
|
COLLATION |
COLLATION |
|
COLLECT |
*a ser definido |
|
COMPOSE |
*a ser definido |
|
CON_DBID_TO_ID |
*a ser definido |
|
CON_GUID_TO_ID |
*a ser definido |
|
CON_NAME_TO_ID |
*a ser definido |
|
CON_UID_TO_ID |
*a ser definido |
|
CONCAT |
CONCAT |
Cada parâmetro de expressão estará dentro de uma função _ NVL(expr, “ “) _ para evitar um erro caso uma das expressões seja nula. |
CONVERT |
*a ser definido |
|
CORR |
CORR |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
CORR_S |
*a ser definido |
|
CORR_K |
*a ser definido |
|
COS |
COS |
|
COSH |
COSH |
|
COUNT |
COUNT |
|
COVAR_POP |
COVAR_POP |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
COVAR_SAMP |
COVAR_SAMP |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
CUBE_TABLE |
Sem suporte |
Convertido em um stub _ “CUBE_TABLE_STUB” _ e um erro é adicionado. |
CUME_DIST |
CUME_DIST |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
CURRENT_DATE |
CURRENT_DATE |
|
CURRENT_TIMESTAMP |
CURRENT_TIMESTAMP |
|
CV |
*a ser definido |
|
DATAOBJ_TO_MAT_PARTITION |
*a ser definido |
|
DATAOBJ_TO_PARTITION |
*a ser definido |
|
DBTIMEZONE |
*a ser definido |
|
DECODE |
DECODE |
|
DECOMPOSE |
*a ser definido |
|
DENSE_RANK |
DENSE_RANK |
Há dois tipos de sintaxe: _ sintaxe agregada _ e _ sintaxe analítica _. A _ sintaxe agregada _ não é compatível e um erro foi adicionado. A sintaxe analítica é compatível, mas a palavra-chave _ “SIBLINGS” _ é removida da _ cláusula _ “order by” _ e um aviso é adicionado. |
DEPTH |
*a ser definido |
|
DEREF |
*a ser definido |
|
DUMP |
*a ser definido |
|
EMPTY_BLOB |
*a ser definido |
|
EMPTY_CLOB |
*a ser definido |
|
EXISTSNODE |
*a ser definido |
|
EXP |
EXP |
|
EXTRACT (datetime) |
<p>EXTRACT (datetime)</p><p>Não suportado</p> |
Mantida como uma função _ EXTRACT _, mas emite um aviso quando a função tem _ “MINUTE” _ ou _ “TIMEZONE_MINUTE” _ como o primeiro parâmetro de palavra-chave. Convertido em um stub _ “EXTRACT_STUB” _ e gera um erro quando o primeiro parâmetro de palavra-chave é _ “TIMEZOME_REGION” _ ou _ “TIMEZONE_ABBR” _ |
EXTRACT (XML) |
Sem suporte |
Não há suporte para a função relacionada a XML. Ele é convertido em um stub _ “EXTRACT_STUB” _ e um erro é adicionado. Consulte o link a seguir sobre como lidar com o carregamento para XML: |
EXTRACTVALUE |
Sem suporte |
Convertido em um stub _ “EXTRACTVALUE_STUB” _ e um erro é adicionado. |
FEATURE_COMPARE |
*a ser definido |
|
FEATURE_DETAILS |
*a ser definido |
|
FEATURE_ID |
*a ser definido |
|
FEATURE_SET |
*a ser definido |
|
FEATURE_VALUE |
*a ser definido |
|
FIRST |
Sem suporte |
A instrução usada para indicar que somente os valores first ou last da _ função agregada _ serão retornados não é suportada. Emite um erro. |
FIRST_VALUE |
FIRST_VALUE |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
FLOOR |
FLOOR |
|
FROM_TZ |
*a ser definido |
|
GREATEST |
GREATEST |
|
GROUP_ID |
*a ser definido |
|
GROUPING |
GROUPING |
|
GROUPING_ID |
GROUPING_ID |
|
HEXTORAW |
*a ser definido |
|
INITCAP |
INITCAP |
|
INSTR |
POSITION |
A ordem do parâmetro _ “string” _ e do parâmetro _ “substring” _ é invertida. Além disso, o parâmetro _”occurrence” _ foi removido porque não é compatível e um aviso foi adicionado. |
ITERATION_NUMBER |
*a ser definido |
|
JSON_ARRAY |
*a ser definido |
|
JSON_ARRAYAGG |
*a ser definido |
|
JSON |
*a ser definido |
|
JSON_MERGE_PATCH |
*a ser definido |
|
JSON_OBJECT |
*a ser definido |
|
JSON_OBJECTAGG |
*a ser definido |
|
JSON_QUERY |
*a ser definido |
|
JSON_SCALAR |
*a ser definido |
|
JSON_SERIALIZE |
*a ser definido |
|
JSON_TABLE |
Sem suporte |
Emite um erro: _ JSON_TABLE IS NOT SUPPORTED. _ |
JSON_TRANSFORM |
*a ser definido |
|
JSON_VALUE |
||
KURTOSIS_POP |
*a ser definido |
|
KURTOSIS_SAMP |
*a ser definido |
|
LAG |
LAG |
<p>Quando a expressão do valor vem com o <em><strong>RESPECT |
LAST |
Sem suporte |
A instrução usada para indicar que somente os valores first ou last da _ função agregada _ serão retornados não é suportada. Emite um erro. |
LAST_DAY |
LAST_DAY |
|
LAST_VALUE |
LAST_VALUE |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
LEAD |
LEAD |
Quando a expressão de valor vem com a instrução _ RESPECT | IGNORE NULLS, _ a instrução é movida para fora do parêntese para corresponder à gramática do Snowflake. |
LEAST |
LEAST |
|
LENGTH |
LENGTH |
|
LISTAGG |
LISTAGG |
A cláusula _ overflow _ é removida da função. |
LN |
LN |
|
LNNVL |
*a ser definido |
|
LOCALTIMESTAMP |
LOCALTIMESTAMP |
|
LOG |
LOG |
|
LOWER |
LOWER |
|
LPAD |
LPAD |
|
LTRIM |
LTRIM |
|
MAKE_REF |
*a ser definido |
|
MAX |
MAX |
|
MEDIAN |
MEDIAN |
|
MIN |
MIN |
|
MOD |
MOD |
|
MONTHS_BETWEEN |
MONTHS_BETWEEN_UDF |
Convertido em uma _ função definida pelo usuário _. |
NANVL |
*a ser definido |
|
NCHR |
*a ser definido |
|
NEW_TIME |
*a ser definido |
|
NEXT_DAY |
NEXT_DAY |
|
NLS_CHARSET_DESCL_LEN |
*a ser definido |
|
NLS_CHARSET_ID |
*a ser definido |
|
NLS_CHARSET_NAME |
*a ser definido |
|
NLS_COLLATION_ID |
*a ser definido |
|
NLS_COLLATION_NAME |
*a ser definido |
|
NLS_INITCAP |
*a ser definido |
|
NLS_LOWER |
*a ser definido |
|
NLS_UPPER |
*a ser definido |
|
NLSSORT |
<p>COLLATE</p><p>Não suportado</p> |
Quando a função está fora de uma cláusula _ “where” _ ou _ “order by” _, ela não é compatível e é convertida no stub _ “NLSSORT_STUB” _ e um erro é adicionado. Caso contrário, se a função estiver dentro de uma cláusula _ “where” _ ou _ “order by” _, ela será convertida para a função _ COLLATE _. |
NTH_VALUE |
NTH_VALUE |
|
NTILE |
NTILE |
|
NULLIF |
NULLIF |
|
NUMTODSINTERVAL |
Sem suporte |
Embora a função em si não seja compatível, alguns usos podem ser migrados manualmente. Por exemplo, DATEADD pode ser usado para migrar manualmente uma soma entre uma data/carimbo de data/hora e essa função. |
NUMTOYMINTERVAL |
Sem suporte |
Embora a função em si não seja compatível, alguns usos podem ser migrados manualmente. Por exemplo, DATEADD pode ser usado para migrar manualmente uma soma entre uma data/carimbo de data/hora e essa função. |
NVL |
NVL |
|
NVL2 |
NVL2 |
|
ORA_DM_PARTITION_NAME |
*a ser definido |
|
ORA_DST_AFFECTED |
*a ser definido |
|
ORA_DST_CONVERTED |
*a ser definido |
|
ORA_DST_ERROR |
*a ser definido |
|
ORA_HASH |
Sem suporte |
Convertido em um stub _ “ORA_HASH_STUB” _ e um erro é adicionado. |
PATH |
*a ser definido |
|
PERCENT_RANK |
PERCENT_RANK |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
PERCENTILE_CONT |
PERCENTILE_CONT |
|
PERCENTILE_DISC |
PERCENTILE_DISC |
|
POWER |
POWER |
|
POWERMULTISET |
*a ser definido |
|
POWERMULTISET_BY_CARDINALITY |
*a ser definido |
|
PREDICTION |
*a ser definido |
|
PREDICTION_BOUNDS |
*a ser definido |
|
PREDICTION_COST |
*a ser definido |
|
PREDICTION_DETAILS |
*a ser definido |
|
PREDICTION_PROBABILITY |
*a ser definido |
|
PREDICTION_SET |
*a ser definido |
|
PRESENTNNV |
*a ser definido |
|
PRESENTV |
*a ser definido |
|
PREVIOUS |
*a ser definido |
|
RANK |
RANK |
Há dois tipos de sintaxe: _ sintaxe agregada _ e _ sintaxe analítica _. A _ sintaxe agregada _ não é compatível e um erro foi adicionado. A sintaxe analítica é compatível, mas a palavra-chave _ “SIBLINGS” _ é removida da _ cláusula _ “order by” _ e um aviso é adicionado. |
RATIO_TO_REPORT |
RATIO_TO_REPORT |
|
RAWTOHEX |
*a ser definido |
|
RAWTONHEX |
*a ser definido |
|
REF |
*a ser definido |
|
REFTOHEX |
*a ser definido |
|
REGEXP_COUNT |
REGEXP_COUNT |
|
REGEXP_INSTR |
REGEXP_INSTR |
|
REGEXP_REPLACE |
REGEXP_REPLACE |
<p>No parâmetro <em><strong>replace_string</strong></em> (o terceiro), um símbolo <strong>””</strong> extra está sendo adicionado para fazer escape do outro. No parâmetro <em><strong>match_param</strong></em> (último), a equivalência funciona assim:<br><strong>”c” -> “c”</strong> <em>especifica diferenciação entre maiúsculas e minúsculas</em><br><strong>”i” -> “i”</strong> <em>especifica não diferenciação entre maiúsculas e minúsculas </em><br><strong>”n” -> “s”</strong> <em>permite o ponto(.), que é o caractere que corresponde a qualquer caractere, para corresponder ao caractere de nova linha</em><br><strong>”m” -> “m”</strong> <em>trata a cadeia de caracteres de origem como várias linhas</em><br><strong>”x” -> “e”</strong> <em>ignora caracteres de espaço em branco</em></p> |
REGEXP_SUBSTR |
REGEXP_SUBSTR |
<p>No parâmetro <em><strong>replace_string</strong></em> (o segundo), um símbolo <strong>””</strong> extra está sendo adicionado para fazer escape do outro. No parâmetro <em><strong>match_param</strong></em> a equivalência funciona assim:<br><strong>‘c’ -> ‘c’</strong> <em>especifica a diferenciação entre maiúsculas e minúsculas</em><br><strong>‘i’ -> ‘i’</strong> <em>especifica não diferenciação entre maiúsculas e minúsculas</em><br><strong>‘n’ -> ‘s’</strong> <em>permite o ponto(.), que é o caractere que corresponde a qualquer caractere, para corresponder ao caractere de nova linha</em><br><strong>‘m’ -> ‘m’</strong> <em>trata a cadeia de caracteres de origem como várias linhas</em><br><strong>‘x’ -> ‘e’</strong> <em>ignora os caracteres de espaço em branco</em></p> |
REGR |
REGR |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
REMAINDER |
*a ser definido |
|
REPLACE |
REPLACE |
|
REVERSE |
REVERSE |
|
ROUND |
ROUND |
|
ROUND_TIES_TO_EVEN |
*a ser definido |
|
ROW_NUMBER |
ROW_NUMBER |
|
RPAD |
RPAD |
|
ROWIDTOCHAR |
*a ser definido |
|
ROWIDTONCHAR |
*a ser definido |
|
RTRIM |
RTRIM |
|
SCN_TO_TIMESTAMP |
*a ser definido |
|
SESSIONTIMEZONE |
*a ser definido |
|
SET |
*a ser definido |
|
SIGN |
SIGN |
|
SINH |
SINH |
|
SKEWNESS_POP |
*a ser definido |
|
SKEWNESS_SAMP |
*a ser definido |
|
SOUNDEX |
SOUNDEX |
|
SQRT |
SQRT |
|
STANDARD_HASH |
*a ser definido |
|
STATS_BINOMIAL_TEST |
*a ser definido |
|
STATS_CROSSTAB |
*a ser definido |
|
STATS_F_TEST |
*a ser definido |
|
STATS_KS_TEST |
*a ser definido |
|
STATS_MODE |
*a ser definido |
|
STATS_MW_TEST |
*a ser definido |
|
STATS_ONE_WAY_ANOVA |
*a ser definido |
|
STATS_T_TEST |
*a ser definido |
|
STATS_WSR_TEST |
*a ser definido |
|
STDDEV |
STDDEV |
|
STDDEV_POP |
STDDEV_POP |
|
STDDEV_SAMP |
STDDEV_SAMP |
|
SUBSTR |
SUBSTR |
Todos os tipos de SUBSTR _ (SUBSTRB, SUBSTRC, SUBSTR2, SUBSTR4) _ estão sendo convertidos para SUBSTR |
SUM |
SUM |
|
SYS_CONNECT_BY_PATH |
*a ser definido |
|
SYS_CONTEXT |
<p>CURRENT_USER CURRENT_SCHEMA CURRENT_DATABASE IS_ROLE_IN_SESSION CURRENT_CLIENT CURRENT_SESSION<br>Não suportado</p> |
<p>Dependendo dos parâmetros da função SYS_CONTEXT, ele é convertido em uma das funções especificadas.<br><em><strong>”CURRENT_SCHEMA”</strong></em> convertido em <em><strong>CURRENT_SCHEMA()</strong></em><br><br><em><strong>”CURRENT_USER”</strong></em> convertido em <em><strong>CURRENT_USER()</strong></em><br><br><em><strong>”DB_NAME”</strong></em> convertido em <em><strong>CURRENT_DATABASE()</strong></em><br><br><em><strong>”ISDBA”</strong></em> convertido em <em><strong>IS_ROLE_IN_SESSION(‘DBA’)</strong></em><br><br><em><strong>”SERVICE_NAME”</strong></em> convertido em <em><strong>CURRENT_CLIENT()</strong></em><br><br><em><strong>”SESSIONID”</strong></em> convertido em <em><strong>CURRENT_SESSION()</strong></em><br><br><em><strong>”GUEST”</strong></em> convertido em <em><strong>IS_ROLE_IN_SESSION(‘GUEST’)</strong></em><br><br><em><strong>”SESSION_USER”</strong></em> convertido em <em><strong>CURRENT_USER()</strong></em><br><br><em><strong>”AUTHENTICATED_IDENTITY”</strong></em> convertido em <em><strong>CURENT_USER()</strong></em></p><p><br>Quando um parâmetro não é compatível, ele é convertido em stub <em><strong>”SYS_CONTEXT_STUB”</strong></em></p> |
SYS_DBURIGEN |
*a ser definido |
|
SYS_EXTRACT_UTC |
*a ser definido |
|
SYS_GUID |
*a ser definido |
|
SYS_OP_ZONE_ID |
*a ser definido |
|
SYS_TYPEID |
*a ser definido |
|
SYS_XMLAGG |
*a ser definido |
|
SYS_XMLGEN |
*a ser definido |
|
TAN |
TAN |
|
TANH |
TANH |
|
TIMESTAMP_TO_SCN |
*a ser definido |
|
TO_APPROX_COUNT_DISTINCT |
*a ser definido |
|
TO_APPROX_PERCENTILE |
*a ser definido |
|
TO_BINARY_DOUBLE |
*a ser definido |
|
TO_BINARY_FLOAT |
*a ser definido |
|
TO_BLOB (bfile) |
*a ser definido |
|
TO_BLOB (raw) |
*a ser definido |
|
TO_CHAR (character) |
TO_CHAR |
|
TO_CHAR (datetime) |
<p>Expressão condicional TO_CHAR(datetime)(CASE)<br>não suportada</p> |
Dependendo do parâmetro de formato, a função é convertida em expressão condicional _ (CASE WHEN) _ ou em uma _ função definida pelo usuário _ ou mantida como _ TO_CHAR(datetime) _. Às vezes, a função estará entre outras funções para obter um resultado equivalente. Quando a função não é compatível, ela é convertida em stub _ “TO_CHAR_STUB” _. Acesse To_Char(datetime) para obter mais informações sobre essa função. |
TO_CHAR (number) |
TO_CHAR (number) |
Se o parâmetro _ numeric _ for do tipo _ double _ ou _ float _, a função será comentada e um erro será adicionado. Quando você chega a um formato não suportado, o parâmetro _ format _ é removido da função e um erro é adicionado. Formatos não suportados: _ C L PR RN TM U V _. Se a função tiver o parâmetro _ nlsparam _, ele será removido da função e um erro será adicionado. |
TO_CLOB ( bfile | blob ) |
TO_VARCHAR |
Emite um aviso para indicar que os parâmetros _ bfile/blob _ são considerados _ binary _. Também apresenta um erro quando a função tem mais de um parâmetro. |
TO_CLOB (character) |
TO_VARCHAR |
Emite um aviso para indicar que os parâmetros _ bfile/blob _ são considerados _ binary _. Também apresenta um erro quando a função tem mais de um parâmetro. |
TO_DATE |
TO_DATE |
<p>Quando vem um <em><strong>formato</strong></em> não é compatível, a função é comentada e um erro é adicionado. Formatos não compatíveis: <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 |
*a ser definido |
|
TO_LOB |
*a ser definido |
|
TO_MULTI_BYTE |
*a ser definido |
|
TO_NCHAR |
*a ser definido |
|
TO_NCHAR (datetime) |
*a ser definido |
|
TO_NCLOB |
*a ser definido |
|
TO_NUMBER |
<p>TO_NUMBER</p><p>Não suportado</p> |
<p>A instrução “<em><strong>DEFAULT integer ON CONVERSION ERROR”</strong></em> é removida e gera um erro,</p><p>Convertida em um stub <em><strong>TO_NUMBER_STUB</strong></em> e um erro é adicionado quando o parâmetro <em><strong>‘formato’</strong></em> não é compatível e também quando a função tem o parâmetro <em><strong>‘nlsparam’</strong></em>.</p> |
TO_SINGLE_BYTE |
*a ser definido |
|
TO_TIMESTAMP |
TO_DATE |
<p>Quando vem um <em><strong>formato</strong></em> não é compatível, a função é comentada e um erro é adicionado. Formatos não compatíveis: <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>Quando vem um <em><strong>formato</strong></em> não é compatível, a função é comentada e um erro é adicionado. Formatos não compatíveis: <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 |
*a ser definido |
|
TO_YMINTERVAL |
*a ser definido |
|
TRANSLATE |
TRANSLATE |
|
TRANSLATE_USING |
TRANSLATE_USING |
|
TREAT |
*a ser definido |
|
TRIM |
TRIM LTRIM RTRIM |
<p>Dependendo do primeiro parâmetro, ele será convertido em:<br><em><strong>LEADING</strong></em> palavra-chave -> <em><strong>LTRIM TRAILING</strong></em> palavra-chave -> <em><strong>RTRIM BOTH</strong></em> palavra-chave -> <em><strong>TRIM</strong></em><br>Nenhuma dessas palavras-chave -> manter como função <strong>TRIM</strong>. Além disso, a ordem do parâmetro <em><strong>”trimsource”</strong></em> e o parâmetro <strong>”trimcharacter</strong>” é invertido, e a palavra-chave <em><strong>FROM</strong></em> é removida da função.</p> |
TRUNC (date) |
TRUNC(date) |
A expressão _”DAY” _ é adicionada como um segundo parâmetro da função. |
TRUNC (number) |
TRUNC(number) |
|
TZ_OFFSET |
*a ser definido |
|
UID |
*a ser definido |
|
UNISTR |
TO_VARCHAR(expr) |
No parâmetro _ expr _ está sendo adicionada a letra “u” após cada símbolo “'. |
UPPER |
UPPER |
|
USER |
*a ser definido |
|
USERNV |
*a ser definido |
|
VALIDATE_CONVERSION |
*a ser definido |
|
VALUE |
Sem suporte |
Convertido em um stub _ “VALUE_STUB” _ e um erro é adicionado. |
VAR_POP |
VAR_POP |
|
VAR_SAMP |
VAR_SAMP |
|
VARIANCE |
VARIANCE |
Um aviso está sendo adicionado para indicar que a contraparte do Snowflake pode não ser funcionalmente equivalente. |
VSIZE |
*a ser definido |
|
WIDTH_BUCKET |
WIDTH_BUCKET |
|
XMLAGG |
*a ser definido |
|
XMLCAST |
*a ser definido |
|
XMLCDATA |
*a ser definido |
|
XMLCOLATVAL |
*a ser definido |
|
XMLCOMMENT |
*a ser definido |
|
XMLCONCAT |
*a ser definido |
|
XMLDIFF |
*a ser definido |
|
XMLELEMENT |
*a ser definido |
|
XMLEXISTS |
*a ser definido |
|
XMLFOREST |
*a ser definido |
|
XMLISVALID |
*a ser definido |
|
XMLPARSE |
*a ser definido |
|
XMLPATCH |
*a ser definido |
|
XMLPI |
*a ser definido |
|
XMLQUERY |
Sem suporte |
|
XMLSEQUENCE |
Sem suporte |
Convertido em um stub _ “XMLSEQUENCE_STUB” _ e um erro é adicionado. |
XMLSERIALIZE |
*a ser definido |
|
XMLTABLE |
Sem suporte |
Emite um erro: _ XMLTABLE IS NOT SUPPORTED _. |
XMLTRANSFORM |
*a ser definido |
Detalhes das funções.¶
To_Char(datetime)¶
De acordo com o parâmetro de formato, a função será convertida para:
Formato |
Conversão |
|---|---|
<p>AD ou BC</p><p>A.D. ou B.C.</p> |
<p>A função será convertida em uma <em><strong>expressão condicional</strong></em> <em><strong>(CASE)</strong></em><br>onde o <strong>formato</strong> é adicionado como resultado da condição <em><strong>”when”</strong></em>.<br><strong>Por exemplo:</strong><br><code>de: To_Char(DATE “1998-12-25”, “AD”)</code><br><code>para: CASE WHEN YEAR(DATE “1998-12-25”) < 0 THEN</code><strong><code>”BC”</code></strong></p> |
CC ou SCC |
<p>A função será convertida em uma <em><strong>expressão condicional</strong></em> onde<br>o corpo da função original é adicionado como uma condição <em><strong>when</strong></em>, mas estará entre</p><p>uma função <em><strong>MOD</strong></em>, depois disso, a função original é adicionada como um resultado <em><strong>then, mas</strong></em> resultado mas<br>contido por uma função <em><strong>SUBSTR</strong></em>.<br><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”CC”)</code><br><code>para: 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>A função será convertida no equivalente à função Snowflake, mas<br>o corpo da função estará no meio da parte <em><strong>DAYOFWEEK</strong></em> de datetime.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”D”)</code></p><p><code>para: TO_CHAR(DAYOFWEEK(DATE “1998-12-25”) + 1)</code></p> |
DAY |
<p>A função será convertida em uma <em><strong>função definida pelo usuário</strong></em> dentro de uma função <em><strong>UPPER</strong></em><br>.<br><strong>Por exemplo:</strong><br><code>de: To_Char(DATE “1998-12-25”,”DAY”)</code></p><p><code>para: UPPER(SNOWCONVERT.PUBLIC.FULL_DAY_NAME_UDF(DATE “1998-12-25”))</code></p> |
DDD |
<p>A função será convertida no equivalente à função Snowflake, mas<br>o corpo da função estará no meio da parte <em><strong>DAYOFYEAR</strong></em> de datetime.</p><p><strong>Por exemplo:</strong><br><code>de: To_Char(DATE “1998-12-25”,”DDD”)</code></p><p><code>para: TO_CHAR(DAYOFYEAR(DATE “1998-12-25”))</code></p> |
DD-MON-RR |
<p>A função será convertida no equivalente à função Snowflake, mantendo o</p><p>corpo da função, mas alterando o formato para: <em>”DD-MON-YY”.</em></p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”DD-MON-RR”)</code></p><p><code>para: To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”DD-MON-YY”)</code></p> |
DL |
<p>A função será convertida em uma <em><strong>função definida pelo usuário</strong></em> mais o operador <em><strong>”OR”</strong></em> <br>mais equivalente do Snowflake, mantendo o corpo da função, mas mudando o formato</p><p>para: <em>”<strong>, MMM DD, YYYY</strong></em></p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”DL”)</code></p><p><code>para: SNOWCONVERT.PUBLIC.FULL_DAY_NAME_UDF(DATE “1998-12-25”)</code></p> |
DS |
<p>A função será convertida em uma combinação da função Snowflake</p><p>equivalente dentro da função <em><strong>LTRIM</strong></em> e o equivalente da função Snowflake.</p><p>Todas as partes combinadas com o operador <em><strong>”OR”</strong></em>.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”DS”)</code></p><p><code>para: LTRIM(TO_CHAR(DATE “1998-12-25”, “MM”), “0”)</code></p> |
DY |
<p>A função será convertida no equivalente à função Snowflake</p><p>dentro da função <em><strong>UPPER</strong></em>.</p><p><strong>Por exemplo:</strong><br><code>de: To_Char(DATE “1998-12-25”,”DY”)</code><br><code>para: UPPER(TO_CHAR(DATE “1998-12-25”, “DY”))</code></p> |
I |
<p>A função será convertida em no equivalente à função Snowflake</p><p>dentro da função <em><strong>SUBSTR</strong></em>.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”I”)</code></p><p><code>para: SUBSTR(TO_CHAR(DATE “1998-12-25”, “YYYY”), 4, 1)</code></p> |
IW |
<p>A função será convertida no equivalente à função Snowflake, mas<br>o corpo da função estará no meio da parte <em><strong>WEEKISO</strong></em> de datetime.</p><p><strong>Por exemplo:</strong></p><p><code>de:To_Char(DATE ‘1998-12-25’,‘IW’)</code></p><p><code>para: TO_CHAR(WEEKISO(DATE ‘1998-12-25’))</code></p> |
IY |
<p>A função será convertida no equivalente à função Snowflake, mantendo o</p><p>corpo da função, mas alterando o formato para: <em><strong>”YY”</strong>.</em></p><p><strong>Por exemplo:</strong></p><p><code>de:To_Char(DATE ‘1998-12-25’, ‘IY’)</code></p><p><code>para: TO_CHAR(DATE ‘1998-12-25’, ‘YY’)</code></p> |
IYY |
<p>A função será convertida no equivalente à função Snowflake</p><p>dentro da função <em><strong>SUBSTR</strong></em> e alterará o formato para: <em><strong>”YYYY”</strong></em>.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”IYY”)</code></p><p><code>para: SUBSTR(TO_CHAR(DATE “1998-12-25”, “YYYY”), 2, 3)</code></p> |
IYYY |
<p>A função será convertida no equivalente à função Snowflake, mantendo o</p><p>corpo da função, mas alterando o formato para: <em><strong>”YYYY”</strong>.</em></p><p><strong>Por exemplo:</strong></p><p><code>de:To_Char(DATE ‘1998-12-25’, ‘IYYY’)</code></p><p><code>para: TO_CHAR(DATE ‘1998-12-25’, ‘YYYY’)</code></p> |
J |
<p>A função será convertida em uma expressão condicional com “B.C.” como um resultado <em><strong>”then”</strong></em></p><p>e <em><strong>”A.D.</strong></em>‘ como um resultado else.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”J”)</code></p><p><code>para:</code> DATE_TO_JULIANDAYS_UDF(DATE “1998-12-25”)</p> |
MI |
<p>A função será convertida no equivalente do Snowflake. Se o argumento da função</p><p>é <em><strong>SYSDATE</strong></em>, ele será alterado para <em><strong>CURRENT_TIMESTAMP</strong></em>, caso contrário,</p><p>se for do tipo data, a função retornará nulo.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(SYSDATE,”MI”);</code></p><p><code>para: To_Char(CURRENT_TIMESTAMP,”MI”)</code></p> |
MON |
<p>A função será convertida no equivalente à função Snowflake<br>dentro da função <em><strong>UPPER</strong></em>.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”MON”)</code></p><p><code>para: UPPER(TO_CHAR(DATE “1998-12-25”, “MON”))</code></p> |
MONTH |
<p>A função será convertida no equivalente à função Snowflake</p><p>dentro da função <em><strong>UPPER</strong></em> e alterará o formato para: <em><strong>”MMMM”</strong></em>.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char( “1998-12-25”,””)para: DATE(TO_CHAR(DATE “1998-12-25”, “MMMM”))</code></p> |
Q |
<p>A função será convertida no equivalente à função Snowflake<br>dentro da função <em><strong>QUARTER</strong></em>.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”Q”)</code></p><p><code>para: TO_CHAR(QUARTER(DATE “1998-12-25”))</code></p> |
RM |
<p>A função será convertida em uma <em><strong>função definida pelo usuário.</strong></em></p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”RM”)</code></p><p><code>para: SNOWCONVERT.PUBLIC.ROMAN_MONTH_UDF(DATE “1998-12-25”)</code></p> |
RR |
<p>A função será convertida no equivalente à função Snowflake, mantendo o</p><p>corpo da função, mas alterando o formato para: <em><strong>”YY”</strong>.</em></p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”RR”)</code></p><p><code>para: TO_CHAR(DATE “1998-12-25”, “YY”)</code></p> |
RR-MON-DD |
<p>A função será convertida no equivalente à função Snowflake, mantendo o</p><p>corpo da função, mas alterando o formato para: <em><strong>”YY-MON-DD”</strong>.</em></p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”RR-MON-DD”)</code></p><p><code>para: To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”YY-MON-DD”)</code></p> |
RRRR |
<p>A função será convertida no equivalente à função Snowflake, mantendo o</p><p>corpo da função, mas alterando o formato para: <em><strong>”YYYY”</strong>.</em></p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”RRRR”)</code></p><p><code>para: TO_CHAR(DATE “1998-12-25”, “YYYY”)</code></p> |
SS |
<p>A função será convertida em uma combinação de uma <em><strong>expressão condicional</strong></em><br>e o equivalente à função Snowflake.</p><p>Todas as partes combinadas com o operador <em><strong>”OR”</strong></em>.<br><strong>Por exemplo:</strong><br><code>de: A_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”SS’)</code></p><p><code>para: 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>A função será convertida no equivalente à função Snowflake, mas o</p><p>o corpo da função será uma concatenação das partes <em><strong>SECOND</strong></em>, <em><strong>MINUTE,</strong></em> e <em><strong>HOUR</strong></em> de datetime.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”SSSS”)</code></p><p><code>para: 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>A função será convertida no equivalente à função Snowflake, mantendo o</p><p>corpo da função, mas alterando o formato para: <em><strong>”HH:MI:SS PM”</strong>.</em></p><p><strong>Por exemplo:</strong></p><p><code>de: A_Char(TIMESTAMP “1998-12-25 09:26:50.12”,”TS’)</code></p><p><code>para: TO_CHAR(TIMESTAMP “1998-12-25 09:26:50.12”, “HH:MI:SS PM’)</code></p> |
W |
<p>A função será convertida na função <em><strong>TRUNC</strong></em> com a parte de datetime <em><strong>DAYOFMONTH</strong></em><br>.</p><p><strong>Por exemplo:</strong></p><p><code>de: A_Char(DATE “1998-12-25”, “W”)</code></p><p><code>para: TRUNC(DAYOFMONTH(DATE ‘1998-12-25’) / 7 + 1)</code></p> |
WW |
<p>A função será convertida na função <em><strong>TRUNC</strong></em> com a parte de datetime <em><strong>DAYOFYEAR</strong></em><br>.</p><p><strong>Por exemplo:</strong></p><p><code>de: A_Char(DATE ‘1998-12-25’,‘WW’)</code></p><p><code>para: TRUNC(DAYOFYEAR(DATE ‘1998-12-25’) / 7 + 1)</code></p> |
Y YYY |
<p>A função será convertida no equivalente à função Snowflake</p><p>dentro da função <em><strong>SUBSTR</strong></em> e alterará o formato para: <em><strong>”YYYY”</strong></em>.</p><p><strong>Por exemplo:</strong></p><p><code>de: A_Char(DATE ‘1998-12-25’,‘Y’)</code></p><p><code>para: SUBSTR(TO_CHAR(DATE ‘1998-12-25’, ‘YYYY’), 4, 1)</code></p> |
Y,YYY |
<p>A função será convertida em uma combinação da função Snowflake<br>equivalente dentro da função <strong>SUBSTR</strong> e um símbolo de vírgula.<br>Todas as partes combinadas com o operador <em><strong>”OR”</strong></em>.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”Y,YYY”)</code></p><p><code>para: SUBSTR(TO_CHAR(YEAR(DATE “1998-12-25”)), 1, 1)</code></p> |
YEAR SYEAR |
<p>A função será convertida em uma <em><strong>função definida pelo usuário</strong></em> dentro de uma função <em><strong>UPPER</strong></em><br>.</p><p><strong>Por exemplo:</strong></p><p><code>de: To_Char(DATE “1998-12-25”,”YEAR”)</code></p><p><code>para: UPPER(SNOWCONVERT.PUBLIC.YEAR_NAME_UDF(DATE “1998-12-25”))</code></p> |
MAX KEEP DENSE_RANK¶
Descrição¶
A função Oracle MAX KEEP DENSE_RANK é uma função de agregação que retorna o valor máximo de um conjunto de valores, considerando apenas as linhas que têm a primeira classificação (menor) de acordo com a ordenação especificada. A cláusula KEEP (DENSE_RANK FIRST ORDER BY …) filtra as linhas para incluir apenas aquelas com o menor valor de classificação antes de aplicar a função MAX. (Documentação das funções agregadas Oracle).
Amostra de padrão de origem¶
Sintaxe¶
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])
Exemplos¶
Oracle¶
Código:
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¶
Código:
SELECT department_id,
FIRST_VALUE(salary)
OVER (
ORDER BY hire_date) AS first_hired_max_salary
FROM
employees
GROUP BY department_id;
Nota
Para garantir uma ordem determinística para as linhas nos resultados de uma função de janela, a cláusula ORDER BY deve incluir uma chave ou combinação de chaves que torne cada linha exclusiva.
MIN KEEP DENSE_RANK¶
Descrição¶
A função Oracle MIN KEEP DENSE_RANK é uma função de agregação que retorna o valor mínimo de um conjunto de valores, considerando apenas as linhas que têm a última (mais alta) classificação de acordo com a ordenação especificada. A cláusula KEEP (DENSE_RANK LAST ORDER BY …) filtra as linhas para incluir apenas aquelas com o valor de classificação mais alto antes de aplicar a função MIN. (Documentação das funções agregadas Oracle).
Amostra de padrão de origem¶
Sintaxe¶
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])
Exemplos¶
Oracle¶
Código:
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¶
Código:
SELECT department_id,
LAST_VALUE(salary)
OVER (
ORDER BY hire_date) AS first_hired_min_salary
FROM
employees
GROUP BY department_id;
Nota
Para garantir uma ordem determinística para as linhas nos resultados de uma função de janela, a cláusula ORDER BY deve incluir uma chave ou combinação de chaves que torne cada linha exclusiva.
NLSSORT¶
Descrição¶
NLSSORT retorna uma chave de agrupamento para o valor de caractere char e um agrupamento especificado de forma explícita ou implícita. Uma chave de agrupamento é uma cadeia de bytes usada para classificar o caractere de acordo com o agrupamento especificado. A propriedade das chaves de agrupamento é que a ordenação mútua de duas dessas chaves geradas para o agrupamento determinado, quando comparadas de acordo com sua ordem binária, é a mesma que a ordenação mútua dos valores de caracteres de origem quando comparados de acordo com o agrupamento determinado… (NLSSORT no Oracle).
Amostra de padrão de origem¶
Sintaxe¶
Oracle¶
NLSSORT(char [, 'nlsparam' ])
Snowflake SQL¶
COLLATE(<string_expression>, '<collation_specification>')
Exemplos¶
Oracle¶
Código:
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');
Resultado:
NAME |
|---|
Gaberd |
Gaardiner. |
Gaasten |
Snowflake SQL¶
Código:
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, '');
Resultado:
NAME |
|---|
Gaberd |
Gaardiner |
Gaasten |
TO_NUMBER¶
Descrição¶
Converte uma expressão de entrada em um número de ponto fixo. Para a entrada NULL, a saída será NULL.
Argumentos¶
Obrigatório:
&#xNAN;<expr>
Uma expressão de um tipo numérico, de caractere ou variante.
Opcional:
_ <format>_
O modelo de formato SQL usado para analisar a entrada _ expr_ e retornar. Para obter mais informações, consulte Modelos de formato SQL.
_ <precision>_
O número máximo de dígitos decimais no número resultante; de 1 a 38. No Snowflake, a precisão não é utilizada para determinar o número de bytes necessários para armazenar o número e não tem qualquer efeito sobre a eficiência, portanto o padrão é o máximo (38).
_ <scale>_
O número de dígitos decimais fracionários (de 0 a _ precision_ - 1). 0 indica nenhum dígito fracionário (ou seja, um número inteiro). A escala padrão é 0.
Retornos¶
A função retorna NUMBER(precision, `` ``scale).
Se _
precision_ não for especificado, o padrão será 38.Se _
scale_ não for especificado, o padrão será 0.
\ Para mais informações, consulte TO_NUMBER na documentação do 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;
Recomendações¶
Não são necessárias ações adicionais do usuário.
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com.