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

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

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

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

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

PostgreSQL

Snowflake

ACOS

ACOS

ASIN

ASIN

ATAN

ATAN

ATAN2

ATAN2

CBRT

CBRT

CEIL/CEILING

CEIL

COS

COS

COT

COT

DEGREES

DEGREES

LN

LN

EXP

EXP

FLOOR

FLOOR

LOG

LOG

MOD

MOD

PI

PI

POWER/POW

POWER/POW

RADIANS

RADIANS

RANDOM

RANDOM

ROUND

ROUND

SIN

SIN

SIGN

SIGN

SQRT

SQRT

TAN

TAN

TRUNC

TRUNC

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

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

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>