Fonctions d’assistance

L’outil d’édition de requêtes permet d’utiliser des fonctions avancées pour réaliser un filtrage complexe en fonction des résultats souhaités et des types de données manipulées. Les fonctions suivantes sont disponibles :

Agrégat

Elles sont utilisées pour effectuer des calculs sur un ensemble de valeurs.

NomDescriptionSyntaxe
AvgRenvoie la moyenne d'une colonne de type numériqueAvg(<valeur>)
CountCompte les valeurs non nulles d'une colonneCount(<valeur>)
CountAllCompte les valeurs retournées (tous champs confondus)CountAll()
CountdistinctCompte les valeurs distinctes non nulles d'une colonneCountdistinct(<valeur>)
MaxRenvoie la valeur maximum d'une colonne de type nombre, chaîne ou dateMax(<valeur>)
MinRenvoie la valeur minimum d'une colonne de type nombre, chaîne ou dateMin(<valeur>)
StdDevRenvoie l'écart type d'une colonne de type nombreStdDev(<valeur>)
StringAggRenvoie la concaténation des valeurs d’une colonne de type chaîne, séparées par le caractère du deuxième argument
.
StringAgg(<Value>,<String>)
SumRenvoie la somme des valeurs d'une colonne de type nombre, chaîne ou dateSum(<valeur>)

Date

Les fonctions de date sont utilisées pour manipuler des valeurs de date ou d'heure.

NomDescriptionSyntaxe
AddDaysAjoute un nombre de jours à une dateAddDays(<date>, <nombre>)
AddHoursAjoute un nombre d'heures à une dateAddHours(<date>, <nombre>)
AddMinutesAjoute un nombre de minutes à une dateAddMinutes(<date>, <nombre>)
AddMonthsAjoute un nombre de mois à une dateAddMonths(<date>, <nombre>)
AddSecondsAjoute un nombre de secondes à une dateAddSeconds(<date>, <nombre>)
AddYearsAjoute un nombre d'années à une dateAddYears(<date>, <nombre>)
ConvertNTZConvertit l’horodatage NTZ (horodatage sans fuseau horaire) en TZ (horodatage avec fuseau horaire) en application de la valeur TZ de session définie.ConvertNTZ (<date+heure>)
DateCmpComparer deux datesDateCmp(<date>,<date>)
DateOnlyRenvoie la date uniquement (avec heure à zéro)*DateOnly(<date>)
JourRenvoie le nombre représentant le jour de la dateDay(<date>)
DayOfYearRenvoie le numéro du jour dans l'année de la dateDayOfYear(<date>)
DaysAgoRenvoie la date correspondant à la date courante moins n joursDaysAgo(<nombre>)
DaysAgoIntRenvoie la date (entier aaaammjj) correspondant à la date courante moins n joursDaysAgoInt(<nombre>)
DaysDiffNombre de jours entre deux datesDaysDiff(<date de fin>, <date de début>)
DaysOldRenvoie l'ancienneté en jours d'une dateDaysOld(<date>)
GetDateRenvoie la date système courante du serveurGetDate()
HourRenvoie l'heure de la dateHour(<date>)
HoursDiffRenvoie le nombre d'heures entre deux datesHoursDiff(<date de fin>, <date de début>)
MinuteRenvoie les minutes de la dateMinute(<date>)
MinutesDiffRenvoie le nombre de minutes entre deux datesMinutesDiff(<date de fin>, <date de début>)
MonthRenvoie le nombre représentant le mois de la dateMonth(<date>)
MonthsAgoRenvoie la date correspondant à la date courante moins n moisMonthsAgo(<nombre>)
MonthsDiffRenvoie le nombre de mois entre deux datesMonthsDiff(<date de fin>, <date de début>)
MonthsOldRenvoie l'ancienneté en mois d'une dateMonthsOld(<date>)
OldestRenvoie la date la plus ancienne d’une plage.Oldest (<date, date>)
SecondRenvoie les secondes de la dateSecond(<date>)
SecondsDiffRenvoie le nombre de secondes entre deux datesSecondsDiff(<date de fin>, <date de début>)
SubDaysEnlève un nombre de jours à une dateSubDays(<date>, <nombre>)
SubHoursEnlève un nombre d'heures à une dateSubHours(<date>, <nombre>)
SubMinutesEnlève un nombre de minutes à une dateSubMinutes(<date>, <nombre>)
SubMonthsEnlève un nombre de mois à une dateSubMonths(<date>, <nombre>)
SubSecondsEnlève un nombre de secondes à une dateSubSeconds(<date>, <nombre>)
SubYearsEnlève un nombre d'années à une dateSubYears(<date>, <nombre>)
ToDateConvertit une date + heure en date seuleToDate(<date + heure>)
ToDateTimeConvertit une chaîne en date + heureToDateTime(<chaîne>)
ToTimestampConvertir une chaîne en date et heureToTimestamp(<string>)
ToTimeZoneConvertir une date et une heure en fuseau horaireToTimeZone(<date>,<time zone>)
TruncDateArrondit une date + heure à la secondeTruncDate(@lastModified, <nombre de secondes>)
TruncDateTZArrondit une date + heure à la seconde prèsTruncDateTZ(<date>, <nombre de secondes>, <fuseau horaire>)
TruncQuarterArrondit une date au trimestreTruncQuarter(<date>)
TruncTimeArrondit la partie heure à la secondeTruncTim(e<date>, <nombre de secondes>)
TruncWeekArrondit une date à la semaineTruncWeek(<date>)
TruncYearArrondit une date + heure au premier janvier de l'annéeTruncYear(<date>)
WeekDayRenvoie le numéro du jour dans la semaine de la date (0=lundi, 6=dimanche).WeekDay(<date>)
YearRenvoie le nombre représentant l'année de la dateYear(<date>)
YearAnd MonthRenvoie le nombre représentant l'année et le mois de la dateYearAndMonth(<date>)
YearsAgoRenvoie le nombre d’années entre une date donnée et la date actuelleYearsAgo(<date>)
YearsDiffRenvoie le nombre d'années entre deux datesYearsDiff(<date de fin>, <date de début>)
YearsOldRenvoie l'ancienneté en années d'une dateYearsOld(<date>)
NOTE
Notez que la fonction Dateonly prend uniquement le fuseau horaire du serveur, et non celui de l'opérateur.

Géomarketing

Les fonctions de géomarketing sont utilisées pour manipuler des valeurs géographiques.

NomDescriptionSyntaxe
DistanceRenvoie la distance entre deux points donnés par leur longitude et leur latitude, exprimées en degrés.Distance(<Longitude A>, <Latitude A>, <Longitude B>, <Latitude B>)

Numérique

Les fonctions numériques sont utilisées pour convertir du texte en nombres.

NomDescriptionSyntaxe
AbsRenvoie la valeur absolue d'un nombreAbs(<nombre>)
CeilRenvoie le plus petit entier supérieur ou égal à un nombreCeil(<nombre>)
FloorRenvoie le plus grand entier supérieur ou égal à un nombreFloor(<nombre>)
GreatestRenvoie le plus grand de deux nombresGreatest(<nombre 1>, <nombre 2>)
LeastRenvoie le plus petit de deux nombresLeast(<nombre 1>, <nombre 2>)
ModRenvoie le reste de la division entiers de n1 par n2Mod(<nombre 1>, <nombre 2>)
PercentRenvoie la proportion en pourcentage entre deux nombresPercent(<nombre 1>, <nombre 2>)
RandomRenvoie une valeur aléatoireRandom()
RoundArrondit un nombre à n décimales prèsRound(<nombre>, <nombre de décimales>)
SignRenvoie le signe du nombreSign(<nombre>)
ToDoubleConvertit un entier en réelToDouble(<nombre>)
ToInt64Convertit un réel en entier 64 bitsToInt64(<nombre>)
ToIntegerConvertit un réel en entierToInteger(<nombre>)
TruncTronque n1 à n2 décimalesTrunc(<n1>, <n2>)

Autres

Ce tableau contient les autres fonctions disponibles.

NomDescriptionSyntaxe
AESEncryptChiffrer la chaîne fournie dans l’argumentAESEncrypt(<value>)
CaseRenvoie la valeur 1 si la condition est vérifiée. Sinon, renvoie la valeur 2.Case(When(<condition>, <valeur 1>), Else(<valeur 2>))
ClearBitEfface le Flag dans la valeurClearBit(<identifiant>, <flag>)
CoalesceRenvoie la valeur 2 si la valeur 1 est nulle ou vide (null), sinon renvoie la valeur 1Coalesce(<valeur 1>, <valeur 2>)
DecodeRenvoie la valeur 3 si la valeur 1 = la valeur 2. Sinon, renvoie la valeur 4.Decode(<valeur 1>, <valeur 2>, <valeur 3>, <valeur 4>)
ElseRenvoie la valeur 1 (ne peut être utilisée qu'en paramètre de la fonction Case)Else(<valeur 1>, <valeur 2>)
GetEmailDomainExtrait le domaine d'une adresse e-mailGetEmailDomain(<valeur>)
GetMirrorURLRécupère l'URL du serveur de page miroirGetMirrorURL(<valeur>)
IifRenvoie la valeur 1 si l’expression est vraie. Sinon, renvoie la valeur 2.Iif(<condition>, <valeur 1>, <valeur 2>)
IsBitSetIndique si le Flag est présent dans la valeurIsBitSet(<identifiant>, <flag>)
IsEmptyStringRenvoie la valeur 2 si la chaîne 1 est vide, sinon renvoie la valeur 3IsEmptyString(<valeur 1>, <valeur 2>, <valeur 3>)
NewUUIDRenvoie un ID uniqueNewUUID()
NoNullRenvoie la chaîne vide si l'argument n'a pas de valeur (null)NoNull(<valeur>)
RowIdRenvoie le numéro de la ligneRowId
SetBitForce le Flag dans la valeurSetBit(<identifiant>, <flag>)
ToBooleanConvertit un nombre en booléenToBoolean(<nombre>)
WhenRenvoie la valeur 1 si l’expression est vraie. Sinon, renvoie la valeur 2 (ne peut être utilisée qu’en paramètre de la fonction Case).When(<condition>, <valeur 1>)

Chaîne

Les fonctions de chaîne sont utilisées pour manipuler un ensemble de chaînes.

NomDescriptionSyntaxe
AllNonNull2Indique si tous les paramètres sont non nuls et non videsAllNonNull2(<chaîne>, <chaîne>)
AllNonNull3Indique si tous les paramètres sont non nuls et non videsAllNonNull3(<chaîne>, <chaîne>, <chaîne>)
AsciiRenvoie la valeur ascii du premier caractère de la chaîne.Ascii(<chaîne>)
CharRenvoie le caractère de code ascii nChar(<nombre>)
CharindexRetourne la position de la chaîne 2 dans la chaîne 1.Charindex(<chaîne>, <chaîne>)
dataLengthRenvoie la taille de la chaîne en octetsdataLength(<string>)
GetLineRenvoie la nième (de 1 à n) ligne de la chaîneGetLine(<chaîne>)
IfEqualsRenvoie le troisième paramètre si les deux premiers paramètres sont égaux. Sinon, renvoie le dernier paramètre.IfEquals(<chaîne>, <chaîne>, <chaîne>, <chaîne>)
IsMemoNullIndique si le memo passé en paramètre est nulIsMemoNull(<memo>)
JuxtWordsConcatène les chaînes passées en paramètres. Ajoute des espaces entre les chaînes si nécessaire.JuxtWords(<chaîne>, <chaîne>)
JuxtWords3Concatène les chaînes passées en paramètres. Ajoute des espaces entre les chaînes si nécessaire.JuxtWords3(<string>, <string>, <string>)
LeftRenvoie les n premiers caractères de la chaîneLeft(<chaîne>, <nombre>)
LengthRenvoie la longueur de la chaîneLength(<chaîne>)
LineExtraire la ligne n de la chaîneLine(<string>,<number>)
LowerRenvoie la chaîne en minusculesLower(<chaîne>)
LPadRenvoie la chaîne complétée à gaucheLPad (<String>, <Number>, <Char>)
LtrimOte les espaces à gauche de la chaîneLtrim(<chaîne>)
Md5DigestRenvoie une représentation hexadécimale de la clé MD5 d'une chaîneMd5Digest(<chaîne>)
MemoContainsIndique si le mémo contient la chaîne passée en paramètreMemoContains(<memo>, <chaîne>)
NodeValueExtrait la valeur d’un champ XML de son XPath et des données de champNodeValue (<String>, <String>)
ReplaceRemplace toutes les occurrences d’une valeur de chaîne spécifiée par une autre valeur de chaîne.Replace(<String>,<String>,<String>)
RightRenvoie les n derniers caractères de la chaîneRight(<chaîne>)
RPadRenvoie la chaîne complétée à droiteRPad(<chaîne>, <nombre>, <caractère>)
RtrimOte les espaces à droite de la chaîneRtrim(<chaîne>)
Sha256DigestReprésentation hexadécimale de la clé SHA256 d’une chaîne.Sha256Digest (<String>)
Sha512DigestReprésentation hexadécimale de la clé SHA512 d’une chaîne.Sha512Digest (<String>)
SmartRenvoie la chaîne avec la première lettre de chaque mot en majusculeSmart(<chaîne>)
SubstringExtrait la sous-chaîne débutant au caractère n1 de la chaîne et de longueur n2Substring(<chaîne>, <départ>, <longueur>)
ToStringConvertit le nombre en chaîneToString(<nombre>, <nombre>)
UpperRenvoie la chaîne en majusculesUpper(<chaîne>)
VirtualLinkRenvoie la clé étrangère d'un lien passée en premier paramètre, si les deux autres paramètres sont égauxVirtualLink(<nombre>, <nombre>, <nombre>)
VirtualLinkStrRenvoie la clé étrangère (texte) d'un lien passée en premier paramètre, si les deux autres paramètres sont égauxVirtualLinkStr(<chaîne>, <nombre>, <nombre>)