Aller au contenu principal

Référence de la fonction de calcul personnalisée

Cette page fournit une référence complète de toutes les fonctions prises en charge pour les calculs personnalisés dans les tableaux de bord AI/BI. Pour des informations sur l'utilisation des calculs personnalisés, consultez Que sont les calculs personnalisés ?.

Fonctions d'agrégation

Toutes les mesures calculées doivent être agrégées. Les Opérations d'agrégation suivantes sont prises en charge :

remarque

Utilisez le mot-clé DISTINCT dans les fonctions d’agrégation pour inclure uniquement les valeurs uniques dans l’agrégation. De plus, la clause FILTER(WHERE condition) peut être ajoutée à toute fonction d'agrégation pour limiter les valeurs incluses dans le calcul.

Les fonctions d’agrégation peuvent également être utilisées avec la syntaxe des fonctions de fenêtre (clause OVER) ou la syntaxe AGGREGATE OVER pour créer des expressions de niveau de détail.

Fonction

Description

any(expr)

Retourne true si au moins une valeur de expr dans le groupe est true.

any_value(expr)

Renvoie une valeur de expr pour un groupe de lignes.

approx_count_distinct(expr[, relativeSD])

Renvoie le nombre estimé de valeurs distinctes dans expr.

approx_percentile ([ALL | DISTINCT] expr, percentile [, accuracy])

Renvoie la valeur centile approximative de expr au centile spécifié.

avg(expr)

Renvoie la moyenne calculée dans une colonne ou une expression.

bool_or(expr)

Retourne true si au moins une valeur de expr est true.

corr(expr1, expr2)

Retourne le coefficient de corrélation de Pearson entre expr1 et expr2.

count(*)

Renvoie le nombre de lignes dans un groupe.

décompte(DISTINCT expr)

Retourne le nombre de lignes uniques dans un groupe.

count_if(expr)

Renvoie le nombre de lignes qui satisfont à une condition donnée.

first(expr [, ignoreNull])

Renvoie la première valeur de expr pour un groupe.

first_value(expr [, ignoreNull])

Renvoie la première valeur de expr pour un groupe.

dernier(expr [, ignoreNull])

Retourne la dernière valeur de expr pour le groupe.

last_value(expr [, ignoreNull])

Retourne la dernière valeur de expr pour le groupe.

listagg(expr [, délimiteur])

Renvoie la concaténation des valeurs non nulles du groupe.

max(expr)

Renvoie la valeur maximale dans une colonne ou une expression.

max_by(expr1, expr2)

Retourne la valeur de expr1 associée à la valeur maximale de expr2.

moyenne(expr)

Renvoie la moyenne calculée dans une colonne ou une expression.

médiane(expr)

Renvoie la médiane d'un ensemble de valeurs.

min(expr)

Renvoie la valeur minimale dans une colonne ou une expression.

min_by(expr1, expr2)

Renvoie la valeur de expr1 associée à la valeur minimale de expr2.

mode(expr [, deterministic ])

Renvoie la valeur la plus fréquente pour expr.

percentile(expr, pourcentage [, fréquence])

Renvoie la valeur de centile exacte de expr au centile spécifié dans un groupe.

percentile_approx(expr, percentage [, accuracy])

Renvoie la valeur centile approximative de expr au centile spécifié.

regr_slope(y, x)

Retourne la pente de la droite de régression linéaire pour les paires non nulles d’un groupe.

some(expr)

Retourne true si au moins une valeur de expr dans le groupe est true.

std(expr)

Renvoie l’écart-type d’un ensemble de valeurs.

stddev(expr)

Renvoie l’écart-type d’un ensemble de valeurs.

stddev_pop(expr)

Retourne l’écart type de la population d’un ensemble de valeurs.

stddev_samp(expr)

Renvoie l'écart-type de l'échantillon d'un ensemble de valeurs.

string_agg(expr [, delimiter])

Renvoie la concaténation des valeurs de chaîne non nulles du groupe.

sum(expr)

Renvoie le total des valeurs dans une colonne ou une expression.

variance(expr)

Renvoie la variance d'un ensemble de valeurs.

Fonction

Description

any(expr)

Retourne true si au moins une valeur de expr dans le groupe est true.

any_value(expr)

Renvoie une valeur de expr pour un groupe de lignes.

approx_count_distinct(expr[, relativeSD])

Renvoie le nombre estimé de valeurs distinctes dans expr.

approx_percentile ([ALL | DISTINCT] expr, percentile [, accuracy])

Renvoie la valeur centile approximative de expr au centile spécifié.

avg(expr)

Renvoie la moyenne calculée dans une colonne ou une expression.

bool_or(expr)

Retourne true si au moins une valeur de expr est true.

corr(expr1, expr2)

Retourne le coefficient de corrélation de Pearson entre expr1 et expr2.

count(*)

Renvoie le nombre de lignes dans un groupe.

décompte(DISTINCT expr)

Retourne le nombre de lignes uniques dans un groupe.

count_if(expr)

Renvoie le nombre de lignes qui satisfont à une condition donnée.

first(expr [, ignoreNull])

Renvoie la première valeur de expr pour un groupe.

first_value(expr [, ignoreNull])

Renvoie la première valeur de expr pour un groupe.

dernier(expr [, ignoreNull])

Retourne la dernière valeur de expr pour le groupe.

last_value(expr [, ignoreNull])

Retourne la dernière valeur de expr pour le groupe.

listagg(expr [, délimiteur])

Renvoie la concaténation des valeurs non nulles du groupe.

max(expr)

Renvoie la valeur maximale dans une colonne ou une expression.

max_by(expr1, expr2)

Retourne la valeur de expr1 associée à la valeur maximale de expr2.

moyenne(expr)

Renvoie la moyenne calculée dans une colonne ou une expression.

médiane(expr)

Renvoie la médiane d'un ensemble de valeurs.

min(expr)

Renvoie la valeur minimale dans une colonne ou une expression.

min_by(expr1, expr2)

Renvoie la valeur de expr1 associée à la valeur minimale de expr2.

mode(expr [, deterministic ])

Renvoie la valeur la plus fréquente pour expr.

percentile(expr, pourcentage [, fréquence])

Renvoie la valeur de centile exacte de expr au centile spécifié dans un groupe.

percentile_approx(expr, percentage [, accuracy])

Renvoie la valeur centile approximative de expr au centile spécifié.

regr_slope(y, x)

Retourne la pente de la droite de régression linéaire pour les paires non nulles d’un groupe.

some(expr)

Retourne true si au moins une valeur de expr dans le groupe est true.

std(expr)

Renvoie l’écart-type d’un ensemble de valeurs.

stddev(expr)

Renvoie l’écart-type d’un ensemble de valeurs.

stddev_pop(expr)

Retourne l’écart type de la population d’un ensemble de valeurs.

stddev_samp(expr)

Renvoie l'écart-type de l'échantillon d'un ensemble de valeurs.

string_agg(expr [, delimiter])

Renvoie la concaténation des valeurs de chaîne non nulles du groupe.

sum(expr)

Renvoie le total des valeurs dans une colonne ou une expression.

variance(expr)

Renvoie la variance d'un ensemble de valeurs.

Fonctions de fenêtre

Les fonctions de fenêtre scalaires, natives de SQL, effectuent des calculs sur un ensemble de lignes qui sont liées à la ligne actuelle. En plus des fonctions d'agrégation, les fonctions de fenêtre scalaires peuvent être utilisées avec des fonctions de classement et analytiques. Pour la syntaxe détaillée et l'utilisation, consultez Fonctions de fenêtre.

Fonctions de fenêtre de classement

Toutes les fonctions de fenêtre de classement sont prises en charge dans les calculs personnalisés. Ces fonctions attribuent des rangs ou des positions aux lignes au sein d'une partition. Pour la syntaxe complète et des exemples, consultez les fonctions de fenêtre de classement.

Fonction

Description

dense_rank()

Renvoie le classement d'une valeur comparé à toutes les valeurs de la partition.

ntile(n)

Divise les lignes de chaque partition de fenêtre en n compartiments, allant de 1 à n au maximum.

percent_rank()

Calcule le classement en pourcentage d'une valeur au sein de la partition.

rank()

Renvoie le classement d'une valeur comparé à toutes les valeurs de la partition.

row_number()

Attribue un numéro unique et séquentiel à chaque ligne, en commençant par un, selon l'ordre des lignes au sein de la partition de la fenêtre.

Fonction

Description

dense_rank()

Renvoie le classement d'une valeur comparé à toutes les valeurs de la partition.

ntile(n)

Divise les lignes de chaque partition de fenêtre en n compartiments, allant de 1 à n au maximum.

percent_rank()

Calcule le classement en pourcentage d'une valeur au sein de la partition.

rank()

Renvoie le classement d'une valeur comparé à toutes les valeurs de la partition.

row_number()

Attribue un numéro unique et séquentiel à chaque ligne, en commençant par un, selon l'ordre des lignes au sein de la partition de la fenêtre.

Fonctions de fenêtre analytiques

Toutes les fonctions de fenêtre analytique sont prises en charge dans les calculs personnalisés. Ces fonctions accèdent aux valeurs d'autres lignes dans la fenêtre. Pour la syntaxe complète et des exemples, consultez les fonctions de fenêtre analytique.

Fonction

Description

cume_dist()

Renvoie la position d'une valeur par rapport à toutes les valeurs de la partition.

lag(expr [, offset [, default]])

Renvoie la valeur de expr d'une ligne précédente dans la partition.

lead(expr [, décalage [, default]])

Retourne la valeur de expr d'une ligne subséquente au sein de la partition.

nth_value(expr, offset [, ignoreNulls])

Renvoie la valeur de expr à offset spécifique dans la fenêtre.

Fonction

Description

cume_dist()

Renvoie la position d'une valeur par rapport à toutes les valeurs de la partition.

lag(expr [, offset [, default]])

Renvoie la valeur de expr d'une ligne précédente dans la partition.

lead(expr [, décalage [, default]])

Retourne la valeur de expr d'une ligne subséquente au sein de la partition.

nth_value(expr, offset [, ignoreNulls])

Renvoie la valeur de expr à offset spécifique dans la fenêtre.

Opérations arithmétiques

Vous pouvez combiner des expressions avec les Opérations arithmétiques suivantes :

Opérations

Description

expr1 % expr2

Retourne le reste de la division de expr1 par expr2.

multiplicateur * multiplicande

Renvoie le produit de deux expressions.

expr1 + expr2

Retourne la somme de expr1 et expr2.

+ expr

Renvoie la valeur de l'expression.

expr1 - expr2

Renvoie la différence en soustrayant expr2 de expr1.

- expr

Renvoie la valeur niée de l'expression.

dividende/diviseur

Renvoie le résultat de la division du dividende par le diviseur.

dividende div diviseur

Renvoie la partie entière de la division de dividend par divisor.

abs(expr)

Renvoie la valeur absolue de l’expression numérique.

acos(expr)

Renvoie le cosinus inverse (arc cosinus) de expr.

asin(expr)

Renvoie le sinus inverse (arc sinus) de expr.

bround(expr [, d])

Retourne expr arrondi à d décimales en utilisant le mode d'arrondi HALF_EVEN.

ceil(expr) ou ceiling(expr)

Renvoie le plus petit entier pas inférieur à expr.

cos(expr)

Renvoie le cosinus de expr.

exp(expr)

Retourne e élevé à la puissance expr.

floor(expr)

Renvoie le plus grand entier qui n'est pas supérieur à expr.

ln(expr)

Renvoie le logarithme naturel de l'expression.

log(base, expr)

Renvoie le logarithme de expr avec le base spécifié.

log10(expr)

Retourne le logarithme décimal de l'expression.

mod(expr1, expr2)

Retourne le reste de la division de expr1 par expr2.

nullifzero(expr)

Renvoie NULL si expr est égal à 0, sinon renvoie expr.

pi()

Retourne la valeur de pi.

pmod(expr1, expr2)

Renvoie la valeur positive de expr1 modulo expr2.

pow(expr1, expr2) ou power(expr1, expr2)

Renvoie le résultat de expr1 élevé à la puissance expr2.

radians(expr)

Convertit les degrés en radians.

rand([seed])

Renvoie une valeur aléatoire avec une distribution uniforme dans la plage de 0 (inclus) à 1 (exclus).

round(expr [, d])

Renvoie expr arrondi à d décimales en utilisant le mode d'arrondi HALF_UP.

sign(expr)

Renvoie le signe de l'expression numérique.

sin(expr)

Renvoie le sinus de expr.

sqrt(expr)

Renvoie la racine carrée de expr.

try_add(expr1, expr2)

Ajoute deux valeurs. Si une erreur se produit, renvoie NULL.

try_divide(dividend, divisor)

Divise le dividende par le diviseur. Si une erreur se produit, renvoie NULL.

try_multiply(multiplier, multiplicand)

Multiplie deux nombres. Si une erreur se produit, renvoie NULL.

try_subtract(expr1, expr2)

Soustrait expr2 de expr1. Si une erreur se produit, renvoie NULL.

zeroifnull(expr)

Retourne 0 si expr est NULL, sinon retourne expr.

Opérations

Description

expr1 % expr2

Retourne le reste de la division de expr1 par expr2.

multiplicateur * multiplicande

Renvoie le produit de deux expressions.

expr1 + expr2

Retourne la somme de expr1 et expr2.

+ expr

Renvoie la valeur de l'expression.

expr1 - expr2

Renvoie la différence en soustrayant expr2 de expr1.

- expr

Renvoie la valeur niée de l'expression.

dividende/diviseur

Renvoie le résultat de la division du dividende par le diviseur.

dividende div diviseur

Renvoie la partie entière de la division de dividend par divisor.

abs(expr)

Renvoie la valeur absolue de l’expression numérique.

acos(expr)

Renvoie le cosinus inverse (arc cosinus) de expr.

asin(expr)

Renvoie le sinus inverse (arc sinus) de expr.

bround(expr [, d])

Retourne expr arrondi à d décimales en utilisant le mode d'arrondi HALF_EVEN.

ceil(expr) ou ceiling(expr)

Renvoie le plus petit entier pas inférieur à expr.

cos(expr)

Renvoie le cosinus de expr.

exp(expr)

Retourne e élevé à la puissance expr.

floor(expr)

Renvoie le plus grand entier qui n'est pas supérieur à expr.

ln(expr)

Renvoie le logarithme naturel de l'expression.

log(base, expr)

Renvoie le logarithme de expr avec le base spécifié.

log10(expr)

Retourne le logarithme décimal de l'expression.

mod(expr1, expr2)

Retourne le reste de la division de expr1 par expr2.

nullifzero(expr)

Renvoie NULL si expr est égal à 0, sinon renvoie expr.

pi()

Retourne la valeur de pi.

pmod(expr1, expr2)

Renvoie la valeur positive de expr1 modulo expr2.

pow(expr1, expr2) ou power(expr1, expr2)

Renvoie le résultat de expr1 élevé à la puissance expr2.

radians(expr)

Convertit les degrés en radians.

rand([seed])

Renvoie une valeur aléatoire avec une distribution uniforme dans la plage de 0 (inclus) à 1 (exclus).

round(expr [, d])

Renvoie expr arrondi à d décimales en utilisant le mode d'arrondi HALF_UP.

sign(expr)

Renvoie le signe de l'expression numérique.

sin(expr)

Renvoie le sinus de expr.

sqrt(expr)

Renvoie la racine carrée de expr.

try_add(expr1, expr2)

Ajoute deux valeurs. Si une erreur se produit, renvoie NULL.

try_divide(dividend, divisor)

Divise le dividende par le diviseur. Si une erreur se produit, renvoie NULL.

try_multiply(multiplier, multiplicand)

Multiplie deux nombres. Si une erreur se produit, renvoie NULL.

try_subtract(expr1, expr2)

Soustrait expr2 de expr1. Si une erreur se produit, renvoie NULL.

zeroifnull(expr)

Retourne 0 si expr est NULL, sinon retourne expr.

Fonctions et opérateurs booléens

Les calculs personnalisés prennent en charge les opérateurs de comparaison et les opérateurs booléens de base. Les opérateurs et fonctions suivants sont pris en charge :

Opérations

Description

expr1 != expr2

Retourne true si expr1 n'est pas égal à expr2.

!expr

Non logique.

expr1 & expr2

Renvoie le ET binaire de expr1 et expr2.

expr1 && expr2

Renvoie true si expr1 et expr2 sont tous les deux true.

expr1 <=> expr2

Retourne le même résultat que l'opérateur d'égalité pour les opérandes non nuls, mais retourne true si les deux sont null, et false si l'un est null.

expr1 <> expr2

Retourne true si expr1 n'est pas égal à expr2.

expr1 < expr2

Renvoie true si expr1 est inférieur à expr2.

expr1 <= expr2

Renvoie true si expr1 est inférieur ou égal à expr2.

expr1 = expr2

Retourne true si expr1 est égal à expr2.

expr1 == expr2

Retourne true si expr1 est égal à expr2.

expr1 > expr2

Retourne true si expr1 est supérieur à expr2.

expr1 >= expr2

Renvoie true si expr1 est supérieur ou égal à expr2.

expr1 ^ expr2

Renvoie le OU exclusif au niveau du bit de expr1 et expr2.

expr1 | expr2

Renvoie le OU binaire de expr1 et expr2.

expr1 || expr2

Retourne true si au moins l'un de expr1 ou expr2 est true.

~expr

Retourne le NOT bit à bit de expr.

expr1 et expr2

Renvoie true si expr1 et expr2 sont tous les deux true.

expr entre inférieure et supérieure

Teste si expr se trouve dans la plage spécifiée (syntaxe spéciale).

str ilike motif

Renvoie true si str correspond à pattern (insensible à la casse). Peut également être utilisé comme ilike(str, pattern [, escapeChar]).

expr in (value1, value2, ...)

Teste si expr correspond à une valeur dans une liste (syntaxe spéciale).

isnan(expr)

Renvoie true si expr est NaN (pas un nombre).

isnotnull(expr)

Renvoie true si expr n'est pas NULL.

isnull(expr)

Retourne true si expr est NULL.

modèle de chaîne

Renvoie true si str correspond à pattern. Peut également être utilisé comme like(str, pattern [, escapeChar]).

not expr

Non logique (opérateur préfixe). Peut également être utilisé comme not(expr).

expr1 ou expr2

Retourne true si au moins l'un de expr1 ou expr2 est true.

str regexp regexp

Retourne true si str correspond à l'expression régulière regexp.

regexp_like(str, regexp)

Retourne true si str correspond à l'expression régulière regexp.

str rlike regexp

Retourne true si str correspond à l'expression régulière regexp.

Opérations

Description

expr1 != expr2

Retourne true si expr1 n'est pas égal à expr2.

!expr

Non logique.

expr1 & expr2

Renvoie le ET binaire de expr1 et expr2.

expr1 && expr2

Renvoie true si expr1 et expr2 sont tous les deux true.

expr1 <=> expr2

Retourne le même résultat que l'opérateur d'égalité pour les opérandes non nuls, mais retourne true si les deux sont null, et false si l'un est null.

expr1 <> expr2

Retourne true si expr1 n'est pas égal à expr2.

expr1 < expr2

Renvoie true si expr1 est inférieur à expr2.

expr1 <= expr2

Renvoie true si expr1 est inférieur ou égal à expr2.

expr1 = expr2

Retourne true si expr1 est égal à expr2.

expr1 == expr2

Retourne true si expr1 est égal à expr2.

expr1 > expr2

Retourne true si expr1 est supérieur à expr2.

expr1 >= expr2

Renvoie true si expr1 est supérieur ou égal à expr2.

expr1 ^ expr2

Renvoie le OU exclusif au niveau du bit de expr1 et expr2.

expr1 | expr2

Renvoie le OU binaire de expr1 et expr2.

expr1 || expr2

Retourne true si au moins l'un de expr1 ou expr2 est true.

~expr

Retourne le NOT bit à bit de expr.

expr1 et expr2

Renvoie true si expr1 et expr2 sont tous les deux true.

expr entre inférieure et supérieure

Teste si expr se trouve dans la plage spécifiée (syntaxe spéciale).

str ilike motif

Renvoie true si str correspond à pattern (insensible à la casse). Peut également être utilisé comme ilike(str, pattern [, escapeChar]).

expr in (value1, value2, ...)

Teste si expr correspond à une valeur dans une liste (syntaxe spéciale).

isnan(expr)

Renvoie true si expr est NaN (pas un nombre).

isnotnull(expr)

Renvoie true si expr n'est pas NULL.

isnull(expr)

Retourne true si expr est NULL.

modèle de chaîne

Renvoie true si str correspond à pattern. Peut également être utilisé comme like(str, pattern [, escapeChar]).

not expr

Non logique (opérateur préfixe). Peut également être utilisé comme not(expr).

expr1 ou expr2

Retourne true si au moins l'un de expr1 ou expr2 est true.

str regexp regexp

Retourne true si str correspond à l'expression régulière regexp.

regexp_like(str, regexp)

Retourne true si str correspond à l'expression régulière regexp.

str rlike regexp

Retourne true si str correspond à l'expression régulière regexp.

Fonctions de conversion

Utilisez les fonctions suivantes pour effectuer un cast des valeurs vers un type spécifié :

Fonction

Description

expr :: type

Convertit la valeur expr vers le type de données cible type.

bigint(expr)

Convertit la valeur expr en BIGINT.

boolean(expr)

Convertit la valeur expr en BOOLEAN.

cast(expr AS type)

Convertit la valeur expr vers le type de données cible type.

date(expr)

Convertit la valeur expr en DATE.

décimal(expr [, p [, s]])

Convertit la valeur expr en DECIMAL avec une précision de p et une échelle de s.

double(expr)

Convertit la valeur expr en DOUBLE.

float(expr)

Convertit la valeur expr en FLOAT.

int(expr)

Convertit la valeur expr en INT.

chaîne(expr)

Convertit la valeur expr en STRING.

timestamp(expr)

Convertit la valeur expr en TIMESTAMP.

to_date(expr [, fmt])

Convertit le expr avec le fmt en date.

to_timestamp(expr [, fmt])

Convertit le expr avec le fmt en Timestamp.

try_cast(expr AS type)

Convertit la valeur expr en toute sécurité vers le type de données cible type.

try_to_timestamp(expr [, fmt])

Analyse le expr avec le fmt pour obtenir un Timestamp en toute sécurité.

Fonction

Description

expr :: type

Convertit la valeur expr vers le type de données cible type.

bigint(expr)

Convertit la valeur expr en BIGINT.

boolean(expr)

Convertit la valeur expr en BOOLEAN.

cast(expr AS type)

Convertit la valeur expr vers le type de données cible type.

date(expr)

Convertit la valeur expr en DATE.

décimal(expr [, p [, s]])

Convertit la valeur expr en DECIMAL avec une précision de p et une échelle de s.

double(expr)

Convertit la valeur expr en DOUBLE.

float(expr)

Convertit la valeur expr en FLOAT.

int(expr)

Convertit la valeur expr en INT.

chaîne(expr)

Convertit la valeur expr en STRING.

timestamp(expr)

Convertit la valeur expr en TIMESTAMP.

to_date(expr [, fmt])

Convertit le expr avec le fmt en date.

to_timestamp(expr [, fmt])

Convertit le expr avec le fmt en Timestamp.

try_cast(expr AS type)

Convertit la valeur expr en toute sécurité vers le type de données cible type.

try_to_timestamp(expr [, fmt])

Analyse le expr avec le fmt pour obtenir un Timestamp en toute sécurité.

Fonctions de date, Timestamp et d'intervalle

Utilisez les fonctions suivantes pour travailler avec les dates, les Timestamp et les intervalles :

Fonction

Description

add_months(start_date, num_months)

Retourne la date qui est num_months après start_date.

curdate()

Renvoie la date actuelle.

current_date()

Renvoie la date actuelle.

current_timestamp()

Renvoie le Timestamp actuel.

current_timezone()

Renvoie le fuseau horaire local de la session actuelle.

date_add(start_date, num_days)

Retourne la date qui est num_days après start_date.

date_diff(endDate, startDate)

Renvoie le nombre de jours de startDate à endDate.

date_format(expr, fmt)

Convertit un Timestamp en chaîne de caractères au format fmt.

date_part(field, source)

Elle extrait une partie spécifique, telle que l'année, le mois ou le jour, d'une date ou d'un timestamp.

date_sub(start_date, num_days)

Renvoie la date qui est num_days antérieure à start_date.

date_trunc(fmt, source)

Tronque une date ou un timestamp à une unité spécifiée, telle que l'année ou le mois.

dateadd(unit, value, expr)

Ajoute l'intervalle de temps spécifié à une date ou un timestamp.

datediff(endDate, startDate)

Renvoie le nombre de jours de startDate à endDate.

day(expr)

Retourne le jour du mois à partir de la date ou du Timestamp.

dayname(expr)

Renvoie le nom du jour de la semaine à partir de la date ou du Timestamp.

dayofmonth(expr)

Retourne le jour du mois à partir de la date ou du Timestamp.

dayofweek(expr)

Renvoie le jour de la semaine à partir de la date ou du Timestamp (1 = dimanche, 7 = samedi).

dayofyear(expr)

Renvoie le jour de l’année à partir de la date ou du timestamp.

extract(field FROM source)

Extrait une partie de la date ou du timestamp.

from_unixtime(unix_time [, fmt])

Convertit le nombre de secondes de l'époque Unix en un timestamp.

from_utc_timestamp(timestamp, fuseau horaire)

Interprète le timestamp donné comme UTC et le convertit dans le fuseau horaire donné.

getdate()

Renvoie le Timestamp actuel.

heure(expr)

Renvoie la composante heure du Timestamp.

last_day(expr)

Renvoie le dernier jour du mois auquel la date ou le timestamp appartient.

make_date(année, mois, jour)

Crée une date à partir des champs année, mois et jour.

make_timestamp(année, mois, jour, heure, min, sec [, fuseau horaire])

Crée un Timestamp à partir des champs année, mois, jour, heure, minute, seconde et, facultativement, fuseau horaire.

minute(expr)

Renvoie le composant minute du timestamp.

mois(expr)

Renvoie la partie mois de la date ou du Timestamp.

months_between(timestamp1, timestamp2 [, roundOff])

Renvoie le nombre de mois entre timestamp1 et timestamp2.

next_day(start_date, day_of_week)

Renvoie la première date postérieure à start_date et nommée day_of_week.

maintenant()

Renvoie le Timestamp actuel.

trimestre(expr)

Renvoie le trimestre de l'année pour la date ou le Timestamp (1 à 4).

seconde(expr)

Renvoie le deuxième composant du Timestamp.

timediff(endDate, startDate)

Renvoie la différence entre deux Timestamp mesurés en unités.

timestamp_micros(microsecondes)

Crée un timestamp à partir du nombre de microsecondes depuis l'époque Unix.

timestamp_millis(milliseconds)

Crée un timestamp à partir du nombre de millisecondes depuis l'époque Unix.

timestamp_seconds(secondes)

Crée un timestamp à partir du nombre de secondes depuis l'époque Unix.

timestampadd(unité, valeur, timestamp)

Ajoute l’intervalle de temps spécifié à un timestamp.

timestampdiff(unité, start, fin)

Renvoie la différence entre deux Timestamp mesurés en unités.

to_date(expr [, fmt])

Convertit le expr avec le fmt en date.

to_timestamp(expr [, fmt])

Convertit le expr avec le fmt en Timestamp.

to_unix_timestamp(expr [, fmt])

Retourne le Timestamp Unix de l'heure donnée.

to_utc_timestamp(timestamp, fuseau horaire)

Interprète le Timestamp donné dans le fuseau horaire donné et le convertit en UTC.

trunc(expr, fmt)

Retourne expr avec la partie temporelle du jour tronquée à l'unité spécifiée par le modèle de format fmt.

unix_micros(Timestamp)

Renvoie le nombre de microsecondes depuis l'époque Unix.

unix_millis(timestamp)

Retourne le nombre de millisecondes depuis l'époque Unix.

unix_seconds(Timestamp)

Retourne le nombre de secondes depuis l'époque Unix.

unix_timestamp([expr [, fmt]])

Retourne le Timestamp Unix de l'heure donnée.

jour_de_la_semaine(expr)

Renvoie le jour de la semaine à partir de la date ou du timestamp (0 = lundi, 6 = dimanche).

weekofyear(expr)

Renvoie la semaine de l’année à partir de la date ou du timestamp.

year(expr)

Renvoie le composant année de la date ou du timestamp.

Fonction

Description

add_months(start_date, num_months)

Retourne la date qui est num_months après start_date.

curdate()

Renvoie la date actuelle.

current_date()

Renvoie la date actuelle.

current_timestamp()

Renvoie le Timestamp actuel.

current_timezone()

Renvoie le fuseau horaire local de la session actuelle.

date_add(start_date, num_days)

Retourne la date qui est num_days après start_date.

date_diff(endDate, startDate)

Renvoie le nombre de jours de startDate à endDate.

date_format(expr, fmt)

Convertit un Timestamp en chaîne de caractères au format fmt.

date_part(field, source)

Elle extrait une partie spécifique, telle que l'année, le mois ou le jour, d'une date ou d'un timestamp.

date_sub(start_date, num_days)

Renvoie la date qui est num_days antérieure à start_date.

date_trunc(fmt, source)

Tronque une date ou un timestamp à une unité spécifiée, telle que l'année ou le mois.

dateadd(unit, value, expr)

Ajoute l'intervalle de temps spécifié à une date ou un timestamp.

datediff(endDate, startDate)

Renvoie le nombre de jours de startDate à endDate.

day(expr)

Retourne le jour du mois à partir de la date ou du Timestamp.

dayname(expr)

Renvoie le nom du jour de la semaine à partir de la date ou du Timestamp.

dayofmonth(expr)

Retourne le jour du mois à partir de la date ou du Timestamp.

dayofweek(expr)

Renvoie le jour de la semaine à partir de la date ou du Timestamp (1 = dimanche, 7 = samedi).

dayofyear(expr)

Renvoie le jour de l’année à partir de la date ou du timestamp.

extract(field FROM source)

Extrait une partie de la date ou du timestamp.

from_unixtime(unix_time [, fmt])

Convertit le nombre de secondes de l'époque Unix en un timestamp.

from_utc_timestamp(timestamp, fuseau horaire)

Interprète le timestamp donné comme UTC et le convertit dans le fuseau horaire donné.

getdate()

Renvoie le Timestamp actuel.

heure(expr)

Renvoie la composante heure du Timestamp.

last_day(expr)

Renvoie le dernier jour du mois auquel la date ou le timestamp appartient.

make_date(année, mois, jour)

Crée une date à partir des champs année, mois et jour.

make_timestamp(année, mois, jour, heure, min, sec [, fuseau horaire])

Crée un Timestamp à partir des champs année, mois, jour, heure, minute, seconde et, facultativement, fuseau horaire.

minute(expr)

Renvoie le composant minute du timestamp.

mois(expr)

Renvoie la partie mois de la date ou du Timestamp.

months_between(timestamp1, timestamp2 [, roundOff])

Renvoie le nombre de mois entre timestamp1 et timestamp2.

next_day(start_date, day_of_week)

Renvoie la première date postérieure à start_date et nommée day_of_week.

maintenant()

Renvoie le Timestamp actuel.

trimestre(expr)

Renvoie le trimestre de l'année pour la date ou le Timestamp (1 à 4).

seconde(expr)

Renvoie le deuxième composant du Timestamp.

timediff(endDate, startDate)

Renvoie la différence entre deux Timestamp mesurés en unités.

timestamp_micros(microsecondes)

Crée un timestamp à partir du nombre de microsecondes depuis l'époque Unix.

timestamp_millis(milliseconds)

Crée un timestamp à partir du nombre de millisecondes depuis l'époque Unix.

timestamp_seconds(secondes)

Crée un timestamp à partir du nombre de secondes depuis l'époque Unix.

timestampadd(unité, valeur, timestamp)

Ajoute l’intervalle de temps spécifié à un timestamp.

timestampdiff(unité, start, fin)

Renvoie la différence entre deux Timestamp mesurés en unités.

to_date(expr [, fmt])

Convertit le expr avec le fmt en date.

to_timestamp(expr [, fmt])

Convertit le expr avec le fmt en Timestamp.

to_unix_timestamp(expr [, fmt])

Retourne le Timestamp Unix de l'heure donnée.

to_utc_timestamp(timestamp, fuseau horaire)

Interprète le Timestamp donné dans le fuseau horaire donné et le convertit en UTC.

trunc(expr, fmt)

Retourne expr avec la partie temporelle du jour tronquée à l'unité spécifiée par le modèle de format fmt.

unix_micros(Timestamp)

Renvoie le nombre de microsecondes depuis l'époque Unix.

unix_millis(timestamp)

Retourne le nombre de millisecondes depuis l'époque Unix.

unix_seconds(Timestamp)

Retourne le nombre de secondes depuis l'époque Unix.

unix_timestamp([expr [, fmt]])

Retourne le Timestamp Unix de l'heure donnée.

jour_de_la_semaine(expr)

Renvoie le jour de la semaine à partir de la date ou du timestamp (0 = lundi, 6 = dimanche).

weekofyear(expr)

Renvoie la semaine de l’année à partir de la date ou du timestamp.

year(expr)

Renvoie le composant année de la date ou du timestamp.

Fonctions de chaîne

Utilisez les fonctions suivantes pour transformer les chaînes de caractères. Pour transformer des chaînes de caractères de date-heure, consultez les fonctions de transtypage.

Fonction

Description

base64(expr)

Convertit l'argument en chaîne base64.

char(expr)

Renvoie le caractère au point de code UTF-16 fourni.

charindex(substr, str [, pos])

Renvoie la position de la première occurrence de substr dans str après la position pos.

concat(expr1, expr2 [, ...])

Renvoie la concaténation des arguments.

concat_ws(sep [, expr1 [, ...]])

Renvoie la concaténation de chaînes séparées par sep.

contains(left, right)

Renvoie true si right se trouve dans left.

convert_timezone(sourceTz, targetTz, sourceTs)

Convertit le timestamp sourceTs du fuseau horaire sourceTz au fuseau horaire targetTz.

decode(expr, charSet)

Traduit le binaire expr en chaîne de caractères à l'aide de l'encodage de jeu de caractères charSet.

endswith(left, right)

Retourne true si left se termine par right.

find_in_set(str, str_array)

Renvoie l'index (à partir de 1) de la chaîne donnée dans la liste séparée par des virgules.

format_number(expr, échelle)

Met en forme expr comme #,###,###.##, arrondi à scale décimales.

format_string(format, expr [, ...])

Renvoie une chaîne formatée à partir de chaînes de format de style printf.

hex(expr)

Convertit expr en hexadécimal.

initcap(str)

Renvoie str avec la première lettre de chaque mot en majuscule.

instr(str, substr)

Renvoie la position de la première occurrence de substr dans str.

lcase(str)

Renvoie str avec tous les caractères convertis en minuscules.

left(str, len)

Renvoie les len premiers caractères de la chaîne str.

len(expr)

Renvoie la longueur de la chaîne ou de l'expression binaire.

longueur(expr)

Renvoie la longueur de la chaîne ou de l'expression binaire.

levenshtein(str1, str2 [, threshold])

Renvoie la distance de Levenshtein entre les deux chaînes de caractères données.

locate(substr, str [, pos])

Renvoie la position de la première occurrence de substr dans str après la position pos.

lower(str)

Renvoie str avec tous les caractères convertis en minuscules.

lpad(str, len [, pad])

Retourne str rempli à gauche avec pad pour une longueur de len.

ltrim(str [, trimStr])

Supprime les caractères de début de str.

md5(expr)

Renvoie une somme de contrôle MD5 de 128 bits sous forme de chaîne hexadécimale.

parse_url(url, partToExtract [, key])

Extrait une partie de url.

position(substr, str [, pos])

Renvoie la position de la première occurrence de substr dans str après la position pos.

printf(format, expr [, ...])

Renvoie une chaîne formatée à partir de chaînes de format de style printf.

regexp_count(str, regexp)

Renvoie le nombre de fois que l'expression régulière regexp correspond dans str.

regexp_extract(str, regexp [, idx])

Extrait un groupe qui correspond à regexp.

regexp_instr(str, regexp)

Renvoie la position de la première correspondance de regexp dans str.

regexp_replace(chaîne, regexp, rep [, position])

Remplace toutes les sous-chaînes de str qui correspondent à regexp par rep.

regexp_substr(str, regexp)

Renvoie la sous-chaîne qui correspond à l'expression régulière regexp dans str.

repeat(chaîne, n)

Renvoie la chaîne qui se répète str n fois.

replace(str, search [, replace])

Remplace toutes les occurrences de search par replace dans str.

reverse(str)

Renvoie str avec l'ordre des caractères inversé.

right(str, len)

Renvoie les len caractères les plus à droite de la chaîne str.

rtrim([trimStr,] str)

Renvoie str avec les caractères de fin supprimés.

sha2(expr, bitLength)

Renvoie la famille de fonctions de hachage SHA-2.

split_part(chaîne, délimiteur, numéro_partie)

Scinde str selon delimiter et renvoie la partie demandée.

commencepar(left, right)

Retourne true si left start avec right.

substr(str, pos [, len])

Retourne la sous-chaîne de str commençant à pos avec une longueur de len.

substring(str, pos [, len])

Retourne la sous-chaîne de str commençant à pos avec une longueur de len.

substring_index(str, delim, count)

Renvoie la sous-chaîne avant count occurrences de delim.

to_char(expr [, fmt])

Convertit expr en chaîne.

to_number(expr [, fmt])

Convertit la chaîne expr en nombre.

translate(input, from, to)

Traduit input en remplaçant les caractères dans from par les caractères correspondants dans to.

trim(str [, trimStr])

Supprime les caractères de début et de fin de str.

ucase(str)

Renvoie str avec tous les caractères passés en majuscules.

upper(str)

Renvoie str avec tous les caractères passés en majuscules.

url_encode(str)

Encode str pour une utilisation dans les paramètres de query d'URL.

Fonction

Description

base64(expr)

Convertit l'argument en chaîne base64.

char(expr)

Renvoie le caractère au point de code UTF-16 fourni.

charindex(substr, str [, pos])

Renvoie la position de la première occurrence de substr dans str après la position pos.

concat(expr1, expr2 [, ...])

Renvoie la concaténation des arguments.

concat_ws(sep [, expr1 [, ...]])

Renvoie la concaténation de chaînes séparées par sep.

contains(left, right)

Renvoie true si right se trouve dans left.

convert_timezone(sourceTz, targetTz, sourceTs)

Convertit le timestamp sourceTs du fuseau horaire sourceTz au fuseau horaire targetTz.

decode(expr, charSet)

Traduit le binaire expr en chaîne de caractères à l'aide de l'encodage de jeu de caractères charSet.

endswith(left, right)

Retourne true si left se termine par right.

find_in_set(str, str_array)

Renvoie l'index (à partir de 1) de la chaîne donnée dans la liste séparée par des virgules.

format_number(expr, échelle)

Met en forme expr comme #,###,###.##, arrondi à scale décimales.

format_string(format, expr [, ...])

Renvoie une chaîne formatée à partir de chaînes de format de style printf.

hex(expr)

Convertit expr en hexadécimal.

initcap(str)

Renvoie str avec la première lettre de chaque mot en majuscule.

instr(str, substr)

Renvoie la position de la première occurrence de substr dans str.

lcase(str)

Renvoie str avec tous les caractères convertis en minuscules.

left(str, len)

Renvoie les len premiers caractères de la chaîne str.

len(expr)

Renvoie la longueur de la chaîne ou de l'expression binaire.

longueur(expr)

Renvoie la longueur de la chaîne ou de l'expression binaire.

levenshtein(str1, str2 [, threshold])

Renvoie la distance de Levenshtein entre les deux chaînes de caractères données.

locate(substr, str [, pos])

Renvoie la position de la première occurrence de substr dans str après la position pos.

lower(str)

Renvoie str avec tous les caractères convertis en minuscules.

lpad(str, len [, pad])

Retourne str rempli à gauche avec pad pour une longueur de len.

ltrim(str [, trimStr])

Supprime les caractères de début de str.

md5(expr)

Renvoie une somme de contrôle MD5 de 128 bits sous forme de chaîne hexadécimale.

parse_url(url, partToExtract [, key])

Extrait une partie de url.

position(substr, str [, pos])

Renvoie la position de la première occurrence de substr dans str après la position pos.

printf(format, expr [, ...])

Renvoie une chaîne formatée à partir de chaînes de format de style printf.

regexp_count(str, regexp)

Renvoie le nombre de fois que l'expression régulière regexp correspond dans str.

regexp_extract(str, regexp [, idx])

Extrait un groupe qui correspond à regexp.

regexp_instr(str, regexp)

Renvoie la position de la première correspondance de regexp dans str.

regexp_replace(chaîne, regexp, rep [, position])

Remplace toutes les sous-chaînes de str qui correspondent à regexp par rep.

regexp_substr(str, regexp)

Renvoie la sous-chaîne qui correspond à l'expression régulière regexp dans str.

repeat(chaîne, n)

Renvoie la chaîne qui se répète str n fois.

replace(str, search [, replace])

Remplace toutes les occurrences de search par replace dans str.

reverse(str)

Renvoie str avec l'ordre des caractères inversé.

right(str, len)

Renvoie les len caractères les plus à droite de la chaîne str.

rtrim([trimStr,] str)

Renvoie str avec les caractères de fin supprimés.

sha2(expr, bitLength)

Renvoie la famille de fonctions de hachage SHA-2.

split_part(chaîne, délimiteur, numéro_partie)

Scinde str selon delimiter et renvoie la partie demandée.

commencepar(left, right)

Retourne true si left start avec right.

substr(str, pos [, len])

Retourne la sous-chaîne de str commençant à pos avec une longueur de len.

substring(str, pos [, len])

Retourne la sous-chaîne de str commençant à pos avec une longueur de len.

substring_index(str, delim, count)

Renvoie la sous-chaîne avant count occurrences de delim.

to_char(expr [, fmt])

Convertit expr en chaîne.

to_number(expr [, fmt])

Convertit la chaîne expr en nombre.

translate(input, from, to)

Traduit input en remplaçant les caractères dans from par les caractères correspondants dans to.

trim(str [, trimStr])

Supprime les caractères de début et de fin de str.

ucase(str)

Renvoie str avec tous les caractères passés en majuscules.

upper(str)

Renvoie str avec tous les caractères passés en majuscules.

url_encode(str)

Encode str pour une utilisation dans les paramètres de query d'URL.

Fonctions diverses

Les fonctions suivantes sont également prises en charge :

Fonction

Description

AGRÉGER PAR

Calcule les valeurs sur des plages de temps ou d'autres ensembles ordonnés pour les mesures.

CASE expr { WHEN opt1 THEN res1 } [...] [ELSE def] END

Renvoie resN pour le premier optN qui est égal à expr ou def si aucune correspondance n'est trouvée.

CAS { LORSQUE cond1 ALORS res1 } [...] [SINON def] FIN

Renvoie resN pour le premier condN évalué à vrai, ou def si aucun n'est trouvé.

coalesce(expr1, expr2 [, ...])

Renvoie le premier argument non nul.

decode(expr, search, result [, search, result]... [, default])

Compare expr à chaque valeur de recherche et renvoie le résultat correspondant.

get_json_object(json_txt, chemin d'accès)

Extrait un objet JSON de json_txt à l'emplacement spécifié path.

greatest(expr [, ...])

Renvoie la valeur la plus élevée de tous les paramètres.

hash(expr1 [, expr2 ...])

Renvoie une valeur de hachage des arguments.

if(condition, true_value, false_value)

Renvoie true_value si condition est true, sinon renvoie false_value.

iff(condition, valeur_vraie, valeur_fausse)

Renvoie true_value si condition est true, sinon renvoie false_value.

ifnull(expr1, expr2)

Retourne expr2 si expr1 est null, ou expr1 sinon.

json_array_length(jsonArray)

Retourne le nombre d'éléments dans le tableau JSON le plus externe.

least(expr [, ...])

Renvoie la valeur la plus basse de tous les paramètres.

monotonically_increasing_id()

Renvoie des entiers 64 bits à croissance monotone.

nullif(expr1, expr2)

Retourne NULL si expr1 est égal à expr2, sinon retourne expr1.

nvl(expr1, expr2)

Retourne expr2 si expr1 est NULL, ou expr1 sinon.

nvl2(expr1, expr2, expr3)

Renvoie expr2 si expr1 n'est pas NULL, ou expr3 dans le cas contraire.

schema_of_json(json [, options])

Renvoie le schéma au format DDL de la chaîne JSON.

Fonction

Description

AGRÉGER PAR

Calcule les valeurs sur des plages de temps ou d'autres ensembles ordonnés pour les mesures.

CASE expr { WHEN opt1 THEN res1 } [...] [ELSE def] END

Renvoie resN pour le premier optN qui est égal à expr ou def si aucune correspondance n'est trouvée.

CAS { LORSQUE cond1 ALORS res1 } [...] [SINON def] FIN

Renvoie resN pour le premier condN évalué à vrai, ou def si aucun n'est trouvé.

coalesce(expr1, expr2 [, ...])

Renvoie le premier argument non nul.

decode(expr, search, result [, search, result]... [, default])

Compare expr à chaque valeur de recherche et renvoie le résultat correspondant.

get_json_object(json_txt, chemin d'accès)

Extrait un objet JSON de json_txt à l'emplacement spécifié path.

greatest(expr [, ...])

Renvoie la valeur la plus élevée de tous les paramètres.

hash(expr1 [, expr2 ...])

Renvoie une valeur de hachage des arguments.

if(condition, true_value, false_value)

Renvoie true_value si condition est true, sinon renvoie false_value.

iff(condition, valeur_vraie, valeur_fausse)

Renvoie true_value si condition est true, sinon renvoie false_value.

ifnull(expr1, expr2)

Retourne expr2 si expr1 est null, ou expr1 sinon.

json_array_length(jsonArray)

Retourne le nombre d'éléments dans le tableau JSON le plus externe.

least(expr [, ...])

Renvoie la valeur la plus basse de tous les paramètres.

monotonically_increasing_id()

Renvoie des entiers 64 bits à croissance monotone.

nullif(expr1, expr2)

Retourne NULL si expr1 est égal à expr2, sinon retourne expr1.

nvl(expr1, expr2)

Retourne expr2 si expr1 est NULL, ou expr1 sinon.

nvl2(expr1, expr2, expr3)

Renvoie expr2 si expr1 n'est pas NULL, ou expr3 dans le cas contraire.

schema_of_json(json [, options])

Renvoie le schéma au format DDL de la chaîne JSON.