Résumé des fonctions

Snowflake prend en charge la plupart des opérateurs et fonctions standards définis dans SQL:1999, ainsi que certaines parties des extensions analytiques de SQL:2003.

Dans ce chapitre :

Fonctions scalaires

Catégorie/sous-catégorie

Fonctions

Fonctions d’expression au niveau du bit

BITAND , BITNOT , BITOR , BITSHIFTLEFT , BITSHIFTRIGHT , BITXOR , GETBIT (voir aussi : Fonctions d’agrégation au niveau du bit)

Fonctions d’expressions conditionnelles

[ 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

Fonctions contextuelles

Général

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

Session

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

Objet de la session

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

Fonctions de génération de données

RANDOM , SEQ1 / SEQ2 / SEQ4 / SEQ8 , UUID_STRING

Fonctions numériques

Arithmétique

DIV0

Arrondissement et troncation

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

Exposant et racine

CBRT , EXP , POW / POWER , SQRT , SQUARE

Logarithmique

LN , LOG

Trigonométrique

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

Fonctions de chaîne et fonctions binaires

Général

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

Conversion de cas

INITCAP , LOWER , UPPER

Correspondance d’expressions régulières ; . (Fonctions de chaîne (expressions régulières))

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

Autre correspondance/comparaison

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

Compression/Décompression

COMPRESS , DECOMPRESS_BINARY , DECOMPRESS_STRING

Encoder/décoder

BASE64_DECODE_BINARY , BASE64_DECODE_STRING , BASE64_ENCODE , HEX_DECODE_BINARY , HEX_DECODE_STRING , HEX_ENCODE , TRY_* (décode les fonctions binaires et chaînes)

Crytographique/Somme de contrôle

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

Chiffrement/Déchiffrement

DECRYPT , DECRYPT_RAW , ENCRYPT , ENCRYPT_RAW

Hachage (non cryptographique)

HASH , HASH_AGG

Fonctions de date et d’heure

Construction

DATE_FROM_PARTS / DATEFROMPARTS , TIME_FROM_PARTS / TIMEFROMPARTS , TIMESTAMP_FROM_PARTS / TIMESTAMPFROMPARTS

Extraction

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

Addition/Soustraction

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

Troncation

DATE_TRUNC , TIME_SLICE , TRUNC

Type de conversion

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

Fuseau horaire

CONVERT_TIMEZONE

Fonctions de données semi-structurées

Analyse

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

Tableau et objet

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

Extraction de données

FLATTEN , GET , GET_PATH , OBJECT_KEYS, XMLGET

Conversions

AS_* (tous les types de données) , TO_ARRAY , TO_JSON , TO_OBJECT , TO_VARIANT, TO_XML

Prédicats de type

IS_* (tous les types de données), TYPEOF

Fonctions géospatiales

Analyse

TO_GEOGRAPHY , TRY_TO_GEOGRAPHY , ST_GEOGFROMGEOHASH, ST_GEOGRAPHYFROMWKB , ST_GEOGRAPHYFROMWKT

Formatage

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

Construction

ST_MAKELINE , ST_MAKEPOINT / ST_POINT , ST_MAKEPOLYGON / ST_POLYGON

Accesseur

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

Relation/mesure

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

Transformation

ST_CENTROID , ST_COLLECT , ST_ENVELOPE , ST_SIMPLIFY

Fonctions de conversion

CAST TO_* (tous les types de données Snowflake pris en charge), TRY_CAST , TRY_TO_* (types de données numériques, booléens, date et heure)

Fonctions utilitaires et de hachage

Utilitaire

GET_DDL , HASH

Fonctions d’agrégation

Catégorie/sous-catégorie

Fonctions

Fonctions d’agrégation

Général

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

Sensible à l’ordre . (Fonctions de la fenêtre)

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

Au niveau du bit

BITAND_AGG , BITOR_AGG , BITXOR_AGG

Booléen

BOOLAND_AGG , BOOLOR_AGG , BOOLXOR_AGG

Hachage

HASH_AGG

Données semi-structurées

ARRAY_AGG , OBJECT_AGG

Régression linéaire

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

Statistiques et probabilités

KURTOSIS , SKEW

Estimation de la cardinalité

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

Estimation de la similarité

APPROXIMATE_JACCARD_INDEX , APPROXIMATE_SIMILARITY , MINHASH , MINHASH_COMBINE

Eestimation de la fréquence

APPROX_TOP_K , APPROX_TOP_K_ACCUMULATE , APPROX_TOP_K_COMBINE , APPROX_TOP_K_ESTIMATE

Estimation du centile

APPROX_PERCENTILE , APPROX_PERCENTILE_ACCUMULATE , APPROX_PERCENTILE_COMBINE , APPROX_PERCENTILE_ESTIMATE

Utilitaires d’agrégation

GROUPING , GROUPING_ID

Fonctions de la fenêtre

Les fonctions de fenêtre sont des fonctions d’agrégation pouvant fonctionner sur un sous-ensemble de lignes dans l’ensemble de lignes en entrée.

Fonctions de table

Catégorie/sous-catégorie

Fonctions

Général

Chargement des données

VALIDATE

Génération de données

GENERATOR

Modélisation d’objet

GET_OBJECT_REFERENCES

Requêtes semi-structurées

FLATTEN

Résultats de la requête

RESULT_SCAN

Informations historiques et d’utilisation . (schéma d’information)

Requêtes

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

Utilisation de l’entrepôt et du stockage

DATABASE_STORAGE_USAGE_HISTORY , STAGE_STORAGE_USAGE_HISTORY , WAREHOUSE_METERING_HISTORY

Sécurité au niveau des colonnes

POLICY_REFERENCES

Chargement et transfert de données

COPY_HISTORY , DATA_TRANSFER_HISTORY , PIPE_USAGE_HISTORY

SCIM

REST_EVENT_HISTORY

Connexion utilisateur

LOGIN_HISTORY , LOGIN_HISTORY_BY_USER

Maintenance de l’optimisation de la recherche

SEARCH_OPTIMIZATION_HISTORY

Fonctions système

Catégorie

Fonctions

Fonctions système

Contrôle

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

Information

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

Informations sur la requête

EXPLAIN_JSON , SYSTEM$EXPLAIN_JSON_TO_TEXT, SYSTEM$EXPLAIN_PLAN_JSON

Fonctions définies par l’utilisateur (UDFs)

En plus des fonctions définies par le système fournies par Snowflake, les utilisateurs peuvent créer des fonctions. Snowflake prend en charge les types d” UDFs suivants :

Type

Remarques

SQL

Des UDFs SQL peuvent être définis pour retourner une sortie scalaire ou de table.

JavaScript

Des UDFs JavaScript peuvent être définis pour renvoyer une sortie scalaire ou de table.

Fonctions externes

Snowflake prend également en charge les Fonctions externes, qui sont stockées et exécutées en dehors de Snowflake.