関数の概要

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

このトピックの内容:

スカラー関数

カテゴリ/サブカテゴリ

関数

ビット単位の式関数

BITAND 、 BITNOT 、 BITOR 、 BITSHIFTLEFT 、 BITSHIFTRIGHT 、 BITXOR、 GETBIT ( ビット単位の集計関数 も参照)

条件式関数

[ NOT ] BETWEEN , BOOLAND , BOOLNOT , BOOLOR , BOOLXOR , CASE , COALESCE , DECODE , EQUAL_NULL , GREATEST , IFF , IFNULL , [ NOT ] IN , IS [ NOT ] DISTINCT FROM , IS [ NOT ] NULL , IS_NULL_VALUE , LEAST , NULLIF , NVL , NVL2 , REGR_VALX , REGR_VALY , ZEROIFNULL

コンテキスト関数

一般

CURRENT_* ( CLIENT | DATE | TIME | TIMESTAMP | VERSION ) , LOCALTIME , LOCALTIMESTAMP , SYSDATE

セッション

ALL_USER_NAMES, CURRENT_* ( ACCOUNT | ROLE | SESSION | STATEMENT | TRANSACTION | USER ) , LAST_QUERY_ID , LAST_TRANSACTION

セッションオブジェクト

CURRENT_* ( DATABASE | SCHEMA | SCHEMAS | WAREHOUSE ), INVOKER_ROLE , INVOKER_SHARE , IS_GRANTED_TO_INVOKER_ROLE, IS_ROLE_IN_SESSION

データ生成関数

RANDOM , SEQ1 / SEQ2 / SEQ4 / SEQ8 , UUID_STRING

数値関数

算術

DIV0

丸めと切り捨て

ABS , CEIL , FLOOR , MOD , ROUND , SIGN , TRUNC / TRUNCATE

指数とルート

CBRT , EXP , POW / POWER , SQRT , SQUARE

対数

LN , LOG

三角関数

ACOS , ACOSH , ASIN , ASINH , ATAN , ATAN2 , ATANH , COS , COSH , COT , DEGREES , HAVERSINE , PI , RADIANS , SIN , SINH , TAN , TANH

文字列とバイナリ関数

一般

ASCII , BIT_LENGTH , CHR / CHR , CONCAT / || , CONCAT_WS , INSERT , LENGTH , LPAD , LTRIM , OCTECT_LENGTH , PARSE_IP , PARSE_URL , REPEAT , REVERSE , RPAD , RTRIM , RTRIMMED_LENGTH , SOUNDEX , SPACE , SPLIT , SPLIT_PART , SPLIT_TO_TABLE , STRTOK , STRTOK_TO_ARRAY , STRTOK_SPLIT_TO_TABLE , TRANSLATE , TRIM , UNICODE , UUID_STRING

大文字と小文字の変換

INITCAP , LOWER , UPPER

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

REGEXP , REGEXP_COUNT , REGEXP_INSTR , REGEXP_LIKE , REGEXP_REPLACE , REGEXP_SUBSTR , RLIKE

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

CHARINDEX , CONTAINS , EDITDISTANCE , ENDSWITH , ILIKE , ILIKE ANY, LEFT , LIKE , LIKE ALL, LIKE ANY , POSITION , REPLACE , RIGHT , STARTSWITH , SUBSTR

圧縮/解凍

COMPRESS , DECOMPRESS_BINARY , DECOMPRESS_STRING

エンコード/デコード

BASE64_DECODE_BINARY、BASE64_DECODE_STRING、BASE64_ENCODE、HEX_DECODE_BINARY、HEX_DECODE_STRING、HEX_ENCODE、TRY_* (バイナリ関数と文字列関数をデコード)

暗号化/チェックサム

MD5 / MD5_HEX , MD5_BINARY , MD5_NUMBER , SHA1 / SHA1_HEX , SHA1_BINARY , SHA2 / SHA2_HEX , SHA2_BINARY

暗号化/復号化

DECRYPT , DECRYPT_RAW , ENCRYPT , ENCRYPT_RAW

ハッシュ(非暗号化)

HASH , HASH_AGG

日付と時刻の関数

構築

DATE_FROM_PARTS / DATEFROMPARTS , TIME_FROM_PARTS / TIMEFROMPARTS , TIMESTAMP_FROM_PARTS / TIMESTAMPFROMPARTS

抽出

DATE_PART , DAY , DAYNAME , DAYOFMONTH , DAYOFWEEK , DAYOFWEEKISO , DAYOFYEAR , EXTRACT , HOUR , LAST_DAY , MINUTE , MONTH , MONTHNAME , QUARTER , SECOND, WEEK , WEEKOFYEAR , WEEKISO , YEAR , YEAROFWEEK , YEAROFWEEKISO

加算/減算

ADD_MONTHS , DATEADD, DATEDIFF , TIMEADD, TIMEDIFF , TIMESTAMPADD , TIMESTAMPDIFF

切り捨て

DATE_TRUNC , TIME_SLICE , TRUNC

型変換

TO_DATE , TO_TIME , TO_TIMESTAMP , TO_TIMESTAMP_* ( LTZ | NTZ | TZ )

タイムゾーン

CONVERT_TIMEZONE

半構造化データ関数

解析

ARRAYS_OVERLAP , CHECK_JSON , CHECK_XML , JSON_EXTRACT_PATH_TEXT, PARSE_JSON , PARSE_XML , STRIP_NULL_VALUE

配列とオブジェクト

ARRAY_AGG , ARRAY_APPEND , ARRAY_CAT , ARRAY_COMPACT , ARRAY_CONSTRUCT , ARRAY_CONSTRUCT_COMPACT , ARRAY_CONTAINS , ARRAY_INSERT , ARRAY_INTERSECTION , ARRAY_POSITION , ARRAY_PREPEND , ARRAY_SIZE , ARRAY_SLICE , ARRAY_TO_STRING , OBJECT_AGG , OBJECT_CONSTRUCT , OBJECT_DELETE , OBJECT_INSERT , OBJECT_PICK

データ抽出

FLATTEN , GET , GET_PATH , OBJECT_KEYS, XMLGET

キャスト

AS_*(すべてのデータ型)、 TO_ARRAY 、 TO_JSON 、 TO_OBJECT 、 TO_VARIANT、 TO_XML

型述語

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

地理空間関数

解析

TO_GEOGRAPHY , TRY_TO_GEOGRAPHY , ST_GEOGFROMGEOHASH, ST_GEOGRAPHYFROMWKB , ST_GEOGRAPHYFROMWKT

フォーマット

ST_ASEWKB , ST_ASEWKT , ST_ASGEOJSON , ST_ASWKB / ST_ASBINARY , ST_ASWKT / ST_ASTEXT , ST_GEOHASH

構築

ST_MAKELINE , ST_MAKEPOINT / ST_POINT , ST_MAKEPOLYGON / ST_POLYGON

アクセサー

ST_DIMENSION , ST_SRID , ST_X , ST_XMAX , ST_XMIN , ST_Y , ST_YMAX , ST_YMIN

関係/測定

ST_AREA , ST_AZIMUTH , ST_CONTAINS , ST_COVEREDBY , ST_COVERS , ST_DISJOINT, ST_DISTANCE , ST_DWITHIN , ST_HAUSDORFFDISTANCE , ST_INTERSECTS , ST_LENGTH , ST_NPOINTS / ST_NUMPOINTS , ST_PERIMETER , ST_WITHIN

変換

ST_CENTROID , ST_COLLECT , ST_ENVELOPE , ST_SIMPLIFY

変換関数

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

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

ユーティリティ

GET_DDL , HASH

集計関数

カテゴリ/サブカテゴリ

関数

集計関数

一般

ANY_VALUE , AVG , CORR , COUNT , COUNT_IF, COVAR_POP , COVAR_SAMP , HASH_AGG , LISTAGG , MAX , MEDIAN , MIN , MODE , PERCENTILE_CONT , PERCENTILE_DISC , STDDEV / STDDEV_POP , STDDEV_SAMP , SUM , VAR_POP / VARIANCE_POP , VAR_SAMP / VARIANCE_SAMP / VARIANCE

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

CUME_DIST , DENSE_RANK , FIRST_VALUE , LAG , LAST_VALUE , LEAD , NTH_VALUE , NTILE , PERCENT_RANK , RANK , ROW_NUMBER , WIDTH_BUCKET

ビット単位

BITAND_AGG , BITOR_AGG , BITXOR_AGG

ブール値

BOOLAND_AGG , BOOLOR_AGG , BOOLXOR_AGG

ハッシュ

HASH_AGG

半構造化データ

ARRAY_AGG , OBJECT_AGG

線形回帰

REGR_AVGX , REGR_AVGY , REGR_COUNT , REGR_INTERCEPT , REGR_R2 , REGR_SLOPE , REGR_SXX , REGR_SXY , REGR_SYY

統計と確率

KURTOSIS , SKEW

カーディナリティ推定

APPROX_COUNT_DISTINCT , HLL , HLL_ACCUMULATE , HLL_COMBINE , HLL_ESTIMATE , HLL_EXPORT , HLL_IMPORT

類似度推定

APPROXIMATE_JACCARD_INDEX , APPROXIMATE_SIMILARITY , MINHASH , MINHASH_COMBINE

頻度推定

APPROX_TOP_K , APPROX_TOP_K_ACCUMULATE , APPROX_TOP_K_COMBINE , APPROX_TOP_K_ESTIMATE

パーセンタイル推定

APPROX_PERCENTILE , APPROX_PERCENTILE_ACCUMULATE , APPROX_PERCENTILE_COMBINE , APPROX_PERCENTILE_ESTIMATE

集計ユーティリティ

GROUPING , GROUPING_ID

ウィンドウ関数

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

テーブル関数

カテゴリ/サブカテゴリ

関数

一般

データのロード

VALIDATE

データ生成

GENERATOR

オブジェクトモデリング

GET_OBJECT_REFERENCES

半構造化クエリ

FLATTEN

クエリ結果

RESULT_SCAN

履歴と使用情報 . (情報スキーマ)

クエリ

QUERY_HISTORY , QUERY_HISTORY_BY_* ( SESSION | USER | WAREHOUSE ) , EXTERNAL_FUNCTIONS_HISTORY

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

DATABASE_STORAGE_USAGE_HISTORY , STAGE_STORAGE_USAGE_HISTORY , WAREHOUSE_METERING_HISTORY

列レベルのセキュリティ

POLICY_REFERENCES

データのロードと転送

COPY_HISTORY , DATA_TRANSFER_HISTORY , PIPE_USAGE_HISTORY

SCIM

REST_EVENT_HISTORY

ユーザーログイン

LOGIN_HISTORY , LOGIN_HISTORY_BY_USER

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

SEARCH_OPTIMIZATION_HISTORY

システム関数

カテゴリ

関数

システム関数

制御

SYSTEM$ABORT_SESSION , SYSTEM$ABORT_TRANSACTION , SYSTEM$CANCEL_ALL_QUERIES , SYSTEM$CANCEL_QUERY , SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE , SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE , SYSTEM$PIPE_FORCE_RESUME , SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS, SYSTEM$WAIT

情報

SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS , SYSTEM$CLUSTERING_DEPTH , SYSTEM$CLUSTERING_INFORMATION , SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS, SYSTEM$GENERATE_SAML_CSR, SYSTEM$GENERATE_SCIM_ACCESS_TOKEN , SYSTEM$LAST_CHANGE_COMMIT_TIME , SYSTEM$MIGRATE_SAML_IDP_REGISTRATION , SYSTEM$PIPE_STATUS , SYSTEM$TYPEOF , SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN, SYSTEM$WHITELIST , SYSTEM$WHITELIST_PRIVATELINK

クエリ情報

EXPLAIN_JSON , SYSTEM$EXPLAIN_JSON_TO_TEXT, SYSTEM$EXPLAIN_PLAN_JSON

ユーザー定義関数(UDFs)

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

注意

SQL

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

JavaScript

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

外部関数

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