SnowConvert AI - PostgreSQL - 組み込み関数¶
適用先¶
PostgreSQL
Greenplum
Netezza
注釈
組み込み関数とそれに相当するSnowflake関数の詳細については、 共通組み込み関数 もご参照ください。
集計関数¶
集約関数は、入力値の集合から単一の結果値を計算します。 (PostgreSQL Language Reference Aggregate Functions) 。
PostgreSQL |
Snowflake |
|---|---|
<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> |
|
<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> |
|
STDDEV/STDDEV_SAMP (expression) |
STDDEV/STDDEV_SAMP (expression) |
STDDEV_POP (expression) |
STDDEV_POP (expression) |
VARIANCE/VAR_SAMP (expression) |
|
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> ... ]) |
<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 |
|---|---|
<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> |
|
<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 |
|---|---|
<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>注意:</em> PostgreSQL <em>はUTCがデフォルトで、Snowflake関数は明示的なUTCの指定を必要とします。したがって、ターゲットタイムゾーンとして追加されます。</em></p> |
|
<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> |
|
<p><a href="https://docs.snowflake.com/en/sql-reference/functions/date_trunc">DATE_TRUNC</a> </p><p></p><p><em>注意:無効な日付部分のフォーマットは、Snowflakeと互換性のあるフォーマットに変換されます。</em></p> |
|
<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> |
|
注釈
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 |
|---|---|
<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とSnowflakeの結果はスケールが異なる可能性があります。
文字列関数¶
文字列関数は、文字列または文字列を評価する式を処理し、操作します。( PostgreSQL Language Reference String functions )。
PostgreSQL |
Snowflake |
|---|---|
<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, '"') |
<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> |
|
<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> ) |
<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> |
|
<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> |
|
ウィンドウ関数¶
PostgreSQL |
Snowflake |
|---|---|
<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> |
|
<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> |
|
<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 <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>注意:SnowflakeはORDER BYを必要とします。欠落している句は <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>注意:</em>PostgreSQL<em>は、定数または式のオフセットを許可します。Snoowflakeでは、定数オフセットのみが可能です。</em></p> |
|
<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> |
|
<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> |
|
<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> |
|
<p><a href="https://docs.snowflake.com/en/sql-reference/functions/percentile_cont">PERCENTILE_CONT</a> </p><p></p><p><em>注意:四捨五入はプラットフォームによって異なります。</em></p> |
|
<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> |