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

AVG

<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>

COUNT

COUNT

MAX

MAX

MEDIAN

<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>

MIN

MIN

PERCENTILE_CONT

PERCENTILE_CONT

STDDEV/STDDEV_SAMP (expression)

STDDEV/STDDEV_SAMP (expression)

STDDEV_POP (expression)

STDDEV_POP (expression)

SUM

SUM

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> … ])

NULLIF

<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

TO_CHAR

<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>

TO_DATE

<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

AT TIME ZONE “timezone”

<p><a href=»https://docs.snowflake.com/en/sql-reference/functions/convert_timezone»>CONVERT_TIMEZONE</a> ( &#x3C;source_tz> , &#x3C;target_tz> , &#x3C;source_timestamp_ntz> )</p><p><br></p><p><a href=»https://docs.snowflake.com/en/sql-reference/functions/convert_timezone»>CONVERT_TIMEZONE</a> ( &#x3C;target_tz> , &#x3C;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>

CURRENT_DATE

CURRENT_DATE()

DATE_PART/PGDATE_PART

DATE_PART

Notes: this function is partially supported by Snowflake. (See SSC-EWI-PG0005).

DATE_TRUNC

<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>

TO_TIMESTAMP

TO_TIMESTAMP

EXTRACT

<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>

TIMEZONE

CONVERT_TIMEZONE

Nota

PostgreSQL timestamps default to microsecond precision (6 digits); Snowflake defaults to nanosecond precision (9 digits). Adjust precision as needed using ALTER SESSION (for example, ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF2';). Precision loss may occur depending on the data type used.

Since some formats are incompatible with Snowflake, adjusting the account parameters DATE_INPUT_FORMAT or TIME_INPUT_FORMAT might maintain functional equivalence between platforms.

Funções JSON

PostgreSQL

Snowflake

JSON_EXTRACT_PATH_TEXT

<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

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

ASCII

ASCII

BTRIM

TRIM

CHAR_LENGTH

LENGTH

CHARACTER_LENGTH

LENGTH

CHR

CHR

CONCAT

CONCAT

INITCAP

INITCAP

LEFT/RIGHT

LEFT/RIGHT

LOWER

LOWER

OCTET_LENGTH

<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, “»”)

REGEXP_REPLACE

REGEXP_REPLACE

Notes: This function includes a parameters argument that enables the user to interpret the pattern using the Perl Compatible Regular Expression (PCRE) dialect, represented by the p value, this is removed to avoid any issues. (See SSC-EWI-0009, SC-FDM-0032, SSC-FDM-PG0011).

REPEAT

REPEAT

REPLACE

REPLACE

REVERSE

REVERSE

SPLIT_PART

<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> )

SUBSTRING

<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>

TRANSLATE

TRANSLATE

TRIM

<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>

UPPER

UPPER

Funções de janela

PostgreSQL

Snowflake

AVG

<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>

COUNT

COUNT

DENSE_RANK

<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>

FIRST_VALUE

<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 &#x3C;expr>.</code></em></p>

LAG

LAG

LAST_VALUE

<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 &#x3C;expr></code>.</em></p>

LEAD

<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>

NTH_VALUE

<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>

NTILE

<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>

PERCENT_RANK

<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>

PERCENTILE_CONT

<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>

PERCENTILE_DISC

PERCENTILE_DISC

RANK

RANK

ROW_NUMBER

<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>