SnowConvert AI - PostgreSQL - Funções de internas¶
Aplica-se a¶
PostgreSQL
Greenplum
Netezza
Nota
Para mais informações sobre funções internas e seus equivalentes no Snowflake, consulte também [Funções internas comuns](../general/ built-in-functions.md).
Funções de agregação¶
Funções de agregação calculam um único valor de resultado a partir de um conjunto de valores de entrada. (Funções agregadas da referência de linguagem PostgreSQL).
PostgreSQL |
Snowflake |
|---|---|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/avg»>AVG</a></p><p></p><p><em>Observações:</em>O PostgreSQL <em>e o Snowflake podem apresentar diferença de precisão/decimais devido a arredondamento/formatação do tipo de dados.</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/median»>MEDIAN</a> </p><p></p><p><em>Observações<strong>: o Snowflake não permite o uso de tipos de dados</strong>, o</em> PostgreSQL <em>permite. (Consulte</em> <a href=»../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM.md#ssc-fdm-pg0013»>SSC-FDM-PG0013</a><em>).</em></p> |
|
STDDEV/STDDEV_SAMP (expression) |
STDDEV/STDDEV_SAMP (expression) |
STDDEV_POP (expression) |
STDDEV_POP (expression) |
VARIANCE/VAR_SAMP (expression) |
VARIANCE/VAR_SAMP (expression) |
VAR_POP (expression) |
VAR_POP (expression) |
Expressões condicionais¶
PostgreSQL |
Snowflake |
|---|---|
COALESCE ( value [, …] ) |
COALESCE ( expression, expression, … ) |
GREATEST ( value [, …] ) |
GREATEST_IGNORE_NULLS ( <expr1> [, <expr2> … ] ) |
LEAST ( value [, …] ) |
LEAST_IGNORE_NULLS ( <expr1> [, <expr2> … ]) |
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/nullif»>NULLIF</a> <br><br><em>Observações: o NULLIF do PostgreSQL ignora espaços finais em algumas comparações de cadeias de caracteres, ao contrário do Snowflake. Portanto, a transformação adiciona RTRIM para equivalência.</em></p> |
Funções de formatação de tipo de dados¶
As funções de formatação de tipo de dados fornecem uma maneira fácil de converter valores de um tipo de dados em outro. Para cada uma dessas funções, o primeiro argumento é sempre o valor a ser formatado e o segundo argumento contém o modelo do novo formato. (Funções de formatação de tipo de dados da referência da linguagem PostgreSQL).
PostgreSQL |
Snowflake |
|---|---|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/to_char»>TO_CHAR</a> </p><p></p><p><em>Observações: A compatibilidade do Snowflake com esta função é parcial (consulte</em> <a href=»broken-reference»><em>SSC-EWI-PG0005</em></a><em>).</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/to_date»>TO_DATE</a> </p><p></p><p><em>Observações: O <code>TO_DATE</code> do Snowflake falha em datas inválidas como “20010631” (junho tem 30 dias), ao contrário do flexível<code>TO_DATE</code> do </em> PostgreSQL<em>. Use <code>TRY_TO_DATE</code> no Snowflake para tratar esses casos, retornando NULL. (Consulte</em> <a href=»broken-reference»><em>SSC-EWI-PG0005</em></a><em>,</em> <a href=»../../general/technical-documentation/issues-and-troubleshooting/functional-difference/generalFDM.md#ssc-fdm-0032»><em>SSC-FDM-0032</em></a><em>).</em></p> |
Funções de data e hora¶
PostgreSQL |
Snowflake |
|---|---|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/convert_timezone»>CONVERT_TIMEZONE</a> ( <source_tz> , <target_tz> , <source_timestamp_ntz> )</p><p><br></p><p><a href=»https://docs.snowflake.com/en/sql-reference/functions/convert_timezone»>CONVERT_TIMEZONE</a> ( <target_tz> , <source_timestamp> ) </p><p></p><p><em>Observações: o</em> PostgreSQL <em>assume UTC como padrão; a função do Snowflake exige a especificação explícita do UTC. Portanto, ela será adicionada como o fuso horário de destino.</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/date_part»>DATE_PART</a> </p><p></p><p><em>Observações: esta função é parcialmente compatível com o Snowflake. (Consulte</em> <a href=»broken-reference»><em>SSC-EWI-PGOOO5</em></a><em>).</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/date_trunc»>DATE_TRUNC</a> </p><p></p><p><em>Observações: Os formatos das partes de data inválidas são traduzidos para formatos compatíveis com o Snowflake.</em> </p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/extract»>EXTRACT</a><br><br><em>Observações:</em> compatibilidade com tempo parcial ou data/hora: DAY, DOW, DOY, EPOCH, HOUR, MINUTE, MONTH, QUARTER, SECOND, WEEK, YEAR. </p> |
|
Nota
O padrão dos carimbos de data/hora do PostgreSQL é a precisão de microssegundos (6 dígitos); o Snowflake usa como padrão a precisão de nanossegundos (9 dígitos). Ajuste a precisão conforme necessário usando ALTER SESSION (por exemplo, ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF2‘;). Pode ocorrer perda de precisão dependendo do tipo de dados utilizado.\ \ Como alguns formatos são incompatíveis com o Snowflake, ajustar os parâmetros da conta DATE_INPUT_FORMAT ou TIME_INPUT_FORMAT pode manter a equivalência funcional entre plataformas.
Funções JSON¶
PostgreSQL |
Snowflake |
|---|---|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/json_extract_path_text»>JSON_EXTRACT_PATH_TEXT</a> </p><p></p><p><em>Observações: o</em> </p><ol><li>PostgreSQL <em>trata os caracteres de nova linha, tabulação e retorno de carro literalmente; o Snowflake os interpreta.</em></li><li><em>Um literal JSON e o caminho separado por ponto são necessários para acessar os objetos aninhados na função do Snowflake.</em></li><li><em>Caminhos com espaços em variáveis devem ser colocados entre aspas.</em></li></ol> |
Funções matemáticas¶
PostgreSQL |
Snowflake |
|---|---|
Nota
Os resultados do PostgreSQL e do Snowflake podem diferir em escala.
Funções de cadeia de caracteres¶
As funções de cadeia de caracteres processam e tratam cadeias de caracteres ou expressões que são interpretadas como cadeias de caracteres. (Funções de cadeia de caracteres da referência da linguagem PostgreSQL).
PostgreSQL |
Snowflake |
|---|---|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/octet_length»>OCTET_LENGTH</a> </p><p></p><p><em>Observações:</em> <em>os resultados podem variar entre plataformas (consulte</em> <a href=»../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM.md#ssc-fdm-pg0013»>SSC-FDM-PG0013</a><em>).</em></p> |
|
QUOTE_IDENT (string) |
CONCAT (“»”, string, “»”) |
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/regexp_replace»>REGEXP_REPLACE</a> </p><p></p><p><em>Observações: Esta função inclui um argumento <code>parameters</code> que permite ao usuário interpretar o padrão usando o dialeto de expressão regular compatível com Perl (PCRE), representado pelo valor <code>p</code>. Isto é removido para evitar qualquer problema</em>. <em>(Consulte</em> <a href=»../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI.md#ssc-ewi-0009»><em>SSC-EWI-0009</em></a><em>,</em> <a href=»../../general/technical-documentation/issues-and-troubleshooting/functional-difference/generalFDM.md#ssc-fdm-0032»><em>SC-FDM-0032</em></a><em>,</em> <a href=»../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM.md#ssc-fdm-pg0011»><em>SSC-FDM- PG0011</em></a><em>).</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/split_part»>SPLIT_PART</a> </p><p></p><p><em>Observações: o Snowflake e o</em> PostgreSQL <em>tratam SPLIT_PART de forma diferente com agrupamentos que não diferenciam maiúsculas de minúsculas.</em></p> |
|
STRPOS (string, substring ) |
POSITION ( <expr1> IN <expr> ) |
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/substr»><em>SUBSTRING</em></a> </p><p></p><p><em>Observações:</em> o Snowflake é parcialmente compatível com esta função. <code>SUBSTRING</code> do PostgreSQL, com um <code>start_position</code> não positivo, calcula <code>start_position + number_characters</code> (retornando “” se o resultado for não positivo). O comportamento do Snowflake é diferente.</p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/trim»><em>TRIM</em></a> </p><p></p><p><em>Observações: o</em> PostgreSQL <em>usa palavras-chave (BOTH, LEADING, TRAILING) para corte; o Snowflake usa TRIM, LTRIM, RTRIM.</em></p> |
|
Funções de janela¶
PostgreSQL |
Snowflake |
|---|---|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/avg»><em>AVG</em></a> </p><p></p><p><em>Observações: o arredondamento/formatação do AVG pode variar de acordo com o tipo de dados entre o</em> PostgreSQL <em>e o Snowflake.</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/dense_rank»>DENSE_RANK</a> </p><p></p><p><em>Observações: ORDER BY é obrigatório no Snowflake; as cláusulas ausentes são substituídas por <code>ORDER BY 1</code>.</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/first_value»>FIRST_VALUE</a> </p><p></p><p><em>Observações: O Snowflake precisa de ORDER BY; as cláusulas ausentes obtêm <code>ORDER BY <expr>.</code></em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/last_value»>LAST_VALUE</a> </p><p></p><p><em>Observações: O Snowflake precisa de ORDER BY; as cláusulas ausentes obtêm <code>ORDER BY <expr></code>.</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/lead»>LEAD</a> </p><p></p><p><em>Observações: o</em> PostgreSQL <em>permite offsets de constante ou de expressão; O Snowflake permite apenas offsets de constante</em>.</p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/nth_value»>NTH_VALUE</a> </p><p></p><p><em>Observações: ORDER BY é obrigatório no Snowflake; as cláusulas ausentes são substituídas por <code>ORDER BY 1</code>.</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/ntile»>NTILE</a> </p><p></p><p><em>Observações: ORDER BY é obrigatório no Snowflake; as cláusulas ausentes são substituídas por <code>ORDER BY 1</code>. (Consulte</em> <a href=»../../general/technical-documentation/issues-and-troubleshooting/functional-difference/postgresqlFDM.md#ssc-fdm-pg0013»>SSC-FDM-PG0013</a><em>).</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/percent_rank»>PERCENT_RANK</a> </p><p></p><p><em>Observações: ORDER BY é obrigatório no Snowflake; as cláusulas ausentes são substituídas por <code>ORDER BY 1</code>.</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/percentile_cont»>PERCENTILE_CONT</a> </p><p></p><p><em>Observações: O arredondamento varia entre plataformas.</em></p> |
|
<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/row_number»>ROW_NUMBER</a> </p><p></p><p>O<em>bservações: ORDER BY é obrigatório no Snowflake; as cláusulas ausentes são substituídas por <code>ORDER BY 1</code>.</em></p> |