SnowConvert AI - PostgreSQL - 組み込み関数

適用先

  • PostgreSQL

  • Greenplum

  • Netezza

注釈

組み込み関数とそれに相当するSnowflake関数の詳細については、 共通組み込み関数 もご参照ください。

集計関数

集約関数は、入力値の集合から単一の結果値を計算します。 (PostgreSQL Language Reference Aggregate Functions) 。

PostgreSQL

Snowflake

AVG

<p><a href="https://docs.snowflake.com/en/sql-reference/functions/avg">AVG</a></p><p></p><p><em>注:</em> PostgreSQL<em>とSnowflakeは、データ型の丸め/書式設定により、異なる精度/小数点以下を示す場合があります。</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>注意<strong>:Snowflakeでは、の日付型は使用できませんが</strong>、</em>PostgreSQL<em>では使用できます。(</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 (式)

VAR_POP (expression)

VAR_POP (expression)

条件式

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>注意:PostgreSQLのNULLIFは、Snowflakeとは異なり、一部の文字列比較において末尾のスペースを無視します。したがって、この変換は等価性のためにRTRIMを追加します。</em></p>

データ型フォーマット関数

データ型フォーマット関数は、あるデータ型から別のデータ型に値を変換する簡単な方法を提供します。これらの関数のそれぞれについて、第1引数は常にフォーマットされる値であり、第2引数には新しいフォーマットのテンプレートが含まれます。( 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>注意:Snowflakeはこの機能を部分的にサポートしています(</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>注意:Snowflakeの <code>TO_DATE</code> は、</em> PostgreSQL<em> の柔軟な <code>TO_DATE</code> とは異なり、「20010631」(6月は30日まで)のような無効な日付では失敗します。Snowflakeの <code>TRY_TO_DATE</code> を使用して、NULLを返すことで、このようなケースに対応することができます(</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>

日付と時刻の関数

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>注意:</em> PostgreSQL <em>はUTCがデフォルトで、Snowflake関数は明示的なUTCの指定を必要とします。したがって、ターゲットタイムゾーンとして追加されます。</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>注意:無効な日付部分のフォーマットは、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>注意:</em>パートタイムまたは日時に対応:DAY、DOW、DOY、EPOCH、HOUR、MINUTE、MONTH、QUARTER、SECOND、WEEK、YEAR</p>

TIMEZONE

CONVERT_TIMEZONE

注釈

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.

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>注:</em> </p><ol><li>PostgreSQL<em>は改行文字、タブ文字、キャリッジリターン文字を文字通りに扱います。Snowflakeはこれらを解釈します。</em></li><li><em>Snowflake関数のネストされたオブジェクトにアクセスするには、JSONリテラルとドット区切りのパスが必要です。</em></li><li><em>変数にスペースが含まれるパスは引用符で囲む必要があります。</em></li></ol>

数学関数

注釈

PostgreSQLとSnowflakeの結果はスケールが異なる可能性があります。

文字列関数

文字列関数は、文字列または文字列を評価する式を処理し、操作します。( PostgreSQL Language Reference String functions )。

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>注意:</em><em>結果はプラットフォームによって異なる場合があります(</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>注意:Snowflakeと</em>PostgreSQL<em>では、SPLIT_PARTの大文字小文字を区別しない照合順序の扱いが異なります。</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>注意:</em>Snowflakeはこの関数を部分的にサポートしています。PostgreSQLの <code>SUBSTRING</code> で、正でない <code>start_position</code> を指定すると、 <code>start_position + number_characters</code> を計算します(結果が正でない場合は''を返します)。Snowflakeの動作は異なります。</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>注意:</em>PostgreSQL<em>はトリミングにキーワード(BOTH、LEADING、TRAILING)を使用し、SnowflakeはTRIM、LTRIM、RTRIMを使用します。</em></p>

UPPER

UPPER

ウィンドウ関数

PostgreSQL

Snowflake

AVG

<p><a href="https://docs.snowflake.com/en/sql-reference/functions/avg"><em>AVG</em></a> </p><p></p><p><em>注意:AVGの丸め/書式は、</em>PostgreSQL<em>と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>注意:SnowflakeではORDER BYは必須です。欠落している句は <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>注意:SnowflakeはORDER BYを必要とします。欠落している句は <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>注意:SnowflakeはORDER BYを必要とします。欠落している句は <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>注意:</em>PostgreSQL<em>は、定数または式のオフセットを許可します。Snoowflakeでは、定数オフセットのみが可能です。</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>注意:SnowflakeではORDER BYは必須です。欠落している句は <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>注意:SnowflakeではORDER BYは必須です。欠落している句は <code>ORDER BY 1</code> に置き換えられます。 (</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>注意:SnowflakeではORDER BYは必須です。欠落している句は <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>注意:四捨五入はプラットフォームによって異なります。</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><em>注意:SnowflakeではORDER BYは必須です。欠落している句は <code>ORDER BY 1</code> に置き換えられます。</em></p>