関数の概要

Snowflakeは、 SQL:2003分析拡張機能の一部と同様に、 SQL:1999で定義されているほとんどの標準関数をサポートしています。

このトピックの内容:

スカラー関数

カテゴリ/サブカテゴリ

関数

ビット単位の式関数

BITANDBITNOTBITORBITSHIFTLEFTBITSHIFTRIGHTBITXORGETBITビット単位の集計関数 も参照)

条件式関数

[ NOT ] BETWEENBOOLANDBOOLNOTBOOLORBOOLXORCASECOALESCEDECODEEQUAL_NULLGREATESTIFFIFNULL[ NOT ] IN、 IS [NOT] DISTINCT FROM、 IS [NOT] NULL、 IS_NULL_VALUELEASTNULLIFNVLNVL2REGR_VALXREGR_VALYZEROIFNULL

コンテキスト関数

一般

CURRENT_CLIENTCURRENT_DATECURRENT_TIMECURRENT_TIMESTAMPCURRENT_VERSIONLOCALTIMELOCALTIMESTAMPSYSDATE

セッション

ALL_USER_NAMESCURRENT_ACCOUNTCURRENT_ROLECURRENT_SESSIONCURRENT_STATEMENTCURRENT_TRANSACTIONCURRENT_USERLAST_QUERY_IDLAST_TRANSACTION

セッションオブジェクト

CURRENT_DATABASECURRENT_SCHEMACURRENT_SCHEMASCURRENT_WAREHOUSEINVOKER_ROLEINVOKER_SHAREIS_GRANTED_TO_INVOKER_ROLEIS_ROLE_IN_SESSION

データ生成関数

RANDOMSEQ1 / SEQ2 / SEQ4 / SEQ8UUID_STRING

数値関数

算術

DIV0

丸めと切り捨て

ABSCEILFLOORMODROUNDSIGNTRUNC / TRUNCATE

指数とルート

CBRTEXPPOW / POWERSQRTSQUARE

対数

LNLOG

三角関数

ACOSACOSHASINASINHATANATAN2ATANHCOSCOSHCOTDEGREESHAVERSINEPIRADIANSSINSINHTANTANH

文字列とバイナリ関数

一般

ASCIIBIT_LENGTHCHAR / CHRCONCAT / ||CONCAT_WSINSERTLENGTH, LENLPADLTRIMOCTET_LENGTHPARSE_IPPARSE_URLREPEATREVERSERPADRTRIMRTRIMMED_LENGTHSOUNDEXSPACESPLITSPLIT_PARTSPLIT_TO_TABLESTRTOKSTRTOK_TO_ARRAYSTRTOK_SPLIT_TO_TABLETRANSLATETRIMUNICODEUUID_STRING

大文字と小文字の変換

INITCAPLOWERUPPER

正規表現マッチング。 .文字列関数(正規表現)

REGEXPREGEXP_COUNTREGEXP_INSTRREGEXP_LIKEREGEXP_REPLACEREGEXP_SUBSTRRLIKE

その他のマッチング/比較

CHARINDEXCONTAINSEDITDISTANCEENDSWITHILIKEILIKE ANYLEFTLIKELIKE ALLLIKE ANYPOSITIONREPLACERIGHTSTARTSWITHSUBSTR , SUBSTRING

圧縮/解凍

COMPRESSDECOMPRESS_BINARYDECOMPRESS_STRING

エンコード/デコード

BASE64_DECODE_BINARYBASE64_DECODE_STRINGBASE64_ENCODEHEX_DECODE_BINARYHEX_DECODE_STRINGHEX_ENCODE、 TRY_* (バイナリ関数と文字列関数をデコード)

暗号化/チェックサム

MD5 / MD5_HEX、 MD5_BINARYMD5_NUMBER_LOWER64MD5_NUMBER_UPPER64、 SHA1 / SHA1_HEX、 SHA1_BINARY、 SHA2 / SHA2_HEX、 SHA2_BINARY

暗号化/復号化

DECRYPTDECRYPT_RAWENCRYPTENCRYPT_RAW

ハッシュ(非暗号化)

HASHHASH_AGG

日付と時刻の関数

構築

DATE_FROM_PARTS / DATEFROMPARTS , TIME_FROM_PARTS / TIMEFROMPARTS , TIMESTAMP_FROM_PARTS / TIMESTAMPFROMPARTS

抽出

DATE_PARTDAYDAYNAME、 DAYOFMONTH、 DAYOFWEEK、 DAYOFWEEKISO、 DAYOFYEAR、 EXTRACTHOURLAST_DAYMINUTEMONTHMONTHNAMEQUARTERSECONDWEEK、 WEEKOFYEAR、 WEEKISO、 YEAR、 YEAROFWEEK、 YEAROFWEEKISO

加算/減算

ADD_MONTHSDATEADDDATEDIFFMONTHS_BETWEENTIMEADDTIMEDIFFTIMESTAMPADDTIMESTAMPDIFF

切り捨て

DATE_TRUNCTIME_SLICETRUNCATE , TRUNC

型変換

TO_DATE , DATETO_TIME , TIMETO_TIMESTAMP / TO_TIMESTAMP_*、 TO_TIMESTAMP_*( LTZ | NTZ | TZ)

タイムゾーン

CONVERT_TIMEZONE

半構造化データ関数

解析

ARRAYS_OVERLAPCHECK_JSONCHECK_XMLJSON_EXTRACT_PATH_TEXTPARSE_JSONPARSE_XMLSTRIP_NULL_VALUE

配列とオブジェクト

ARRAY_AGGARRAY_APPENDARRAY_CATARRAY_COMPACTARRAY_CONSTRUCTARRAY_CONSTRUCT_COMPACTARRAY_CONTAINSARRAY_INSERTARRAY_INTERSECTIONARRAY_POSITIONARRAY_PREPENDARRAY_SIZEARRAY_SLICEARRAY_TO_STRINGOBJECT_AGGOBJECT_CONSTRUCTOBJECT_DELETEOBJECT_INSERTOBJECT_PICK

データ抽出

FLATTENGETGET_PATH 、 :OBJECT_KEYSXMLGET

キャスト

AS_* (すべてのデータ型)、 TO_ARRAYTO_JSONTO_OBJECTTO_VARIANTTO_XML

型述語

IS_* (すべてのデータ型)、 TYPEOF

地理空間関数

解析

TO_GEOGRAPHYTRY_TO_GEOGRAPHYST_GEOGFROMGEOHASHST_GEOGPOINTFROMGEOHASHST_GEOGRAPHYFROMWKBST_GEOGRAPHYFROMWKT

フォーマット

ST_ASEWKBST_ASEWKTST_ASGEOJSON、 ST_ASWKB / ST_ASBINARY、 ST_ASWKT / ST_ASTEXT、 ST_GEOHASH

構築

ST_MAKELINE、 ST_MAKEPOINT / ST_POINT、 ST_MAKEPOLYGON / ST_POLYGON

アクセサー

ST_DIMENSIONST_SRIDST_XST_XMAXST_XMINST_YST_YMAXST_YMIN

関係/測定

ST_AREAST_AZIMUTHST_CONTAINSST_COVEREDBYST_COVERSST_DISJOINTST_DISTANCEST_DWITHINST_HAUSDORFFDISTANCEST_INTERSECTSST_LENGTH、 ST_NPOINTS / ST_NUMPOINTS、 ST_PERIMETERST_WITHIN

変換

ST_CENTROIDST_COLLECTST_ENVELOPEST_SIMPLIFY

変換関数

CAST、 ::、 TO_* (サポートされているすべてのSnowflakeデータ型)、 TRY_CAST、 TRY_TO_* (数値、ブール、日付と時刻のデータ型)

ユーティリティとハッシュ関数

ユーティリティ

GET_DDLHASH

集計関数

カテゴリ/サブカテゴリ

関数

集計関数

一般

ANY_VALUEAVGCORRCOUNTCOUNT_IFCOVAR_POPCOVAR_SAMPHASH_AGGLISTAGG、 MAX、 MEDIANMIN / MAXMODEPERCENTILE_CONTPERCENTILE_DISC、 STDDEV / STDDEV_POP、 STDDEV_SAMPSUM、 VAR_POP / VARIANCE_POP、 VAR_SAMP / VARIANCE_SAMP / VARIANCE

順序依存 .ウィンドウ関数

CUME_DISTDENSE_RANKFIRST_VALUELAGLAST_VALUELEADNTH_VALUENTILEPERCENT_RANKRANKROW_NUMBERWIDTH_BUCKET

ビット演算

BITAND_AGGBITOR_AGGBITXOR_AGG

ブール値

BOOLAND_AGGBOOLOR_AGGBOOLXOR_AGG

ハッシュ

HASH_AGG

半構造化データ

ARRAY_AGGOBJECT_AGG

線形回帰

REGR_AVGXREGR_AVGYREGR_COUNTREGR_INTERCEPTREGR_R2REGR_SLOPEREGR_SXXREGR_SXYREGR_SYY

統計と確率

KURTOSISSKEW

カーディナリティ推定

APPROX_COUNT_DISTINCTHLLHLL_ACCUMULATEHLL_COMBINEHLL_ESTIMATEHLL_EXPORTHLL_IMPORT

類似度推定

APPROXIMATE_JACCARD_INDEXAPPROXIMATE_SIMILARITYMINHASHMINHASH_COMBINE

頻度推定

APPROX_TOP_KAPPROX_TOP_K_ACCUMULATEAPPROX_TOP_K_COMBINEAPPROX_TOP_K_ESTIMATE

パーセンタイル推定

APPROX_PERCENTILEAPPROX_PERCENTILE_ACCUMULATEAPPROX_PERCENTILE_COMBINEAPPROX_PERCENTILE_ESTIMATE

集計ユーティリティ

GROUPINGGROUPING_ID

ウィンドウ関数

ウィンドウ関数は、入力行のセット内の行のサブセットを操作できる 集計関数 です。

テーブル関数

カテゴリ/サブカテゴリ

関数

一般

データのロード

VALIDATE

データ生成

GENERATOR

オブジェクトモデリング

GET_OBJECT_REFERENCES

半構造化クエリ

FLATTEN

クエリ結果

RESULT_SCAN

履歴と使用情報 . (Information Schema)

クエリ

QUERY_HISTORYQUERY_HISTORY_BY_* ( SESSION | USER | WAREHOUSE)EXTERNAL_FUNCTIONS_HISTORY

ウェアハウスとストレージの使用

DATABASE_STORAGE_USAGE_HISTORYSTAGE_STORAGE_USAGE_HISTORYWAREHOUSE_METERING_HISTORY

列レベルのセキュリティ

POLICY_REFERENCES

データのロードと転送

COPY_HISTORYDATA_TRANSFER_HISTORYPIPE_USAGE_HISTORY

SCIM

REST_EVENT_HISTORY

ユーザーログイン

LOGIN_HISTORYLOGIN_HISTORY_BY_USER

検索最適化のメンテナンス

SEARCH_OPTIMIZATION_HISTORY

ユーザー定義関数(UDFs)

Snowflakeが提供するシステム定義関数に加えて、ユーザーは関数を作成できます。Snowflakeは、次の UDFs のタイプをサポートしています。

注意

SQL

SQL UDFs スカラー または 表形式 出力を返すように定義できます。

JavaScript

JavaScript UDFs スカラー または 表形式 出力を返すように定義できます。

外部関数

Snowflakeは、Snowflake外で保存および実行される 外部関数 もサポートしています。