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

<p><a href="https://docs.snowflake.com/en/sql-reference/functions/date_part">DATE_PART</a> </p><p></p><p><em>注:この機能はSnowflakeによって部分的にサポートされています。((</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>注意:無効な日付部分のフォーマットは、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のタイムスタンプのデフォルトはマイクロ秒精度(6桁)、Snowflakeのデフォルトはナノ秒精度(9桁)です。必要に応じて、ALTER SESSIONを使って精度を調整します(例えば、 ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF2'; )。使用するデータ型によっては精度の低下が発生する場合があります。Snowflakeと互換性のないフォーマットもあるため、アカウントパラメーター DATE_INPUT_FORMAT or TIME_INPUT_FORMAT を調整することで、プラットフォーム間の機能的な同等性を維持できる場合があります。

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

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

注釈

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

<p><a href="https://docs.snowflake.com/en/sql-reference/functions/regexp_replace">REGEXP_REPLACE</a> </p><p></p><p><em>注意:この関数には <code>parameters</code> 引数があり、Perl互換正規表現(PCRE)方言を使ってパターンを解釈することができます。 <code>p</code> の値で表されますが、問題を避けるためにこれは削除されています</em>。<em>(</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>注意: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>