PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Présentation
  • Fonctions SQL
  • Expression scalaire
  • LEFT
  • RIGHT
  • MID, SUBSTR et SUBSTRING
  • MID
  • SUBSTR
  • BTRIM
  • LTRIM
  • RTRIM
  • TRIM
  • OVERLAY
  • REPLACE
  • TRANSLATE
  • CONCAT
  • STRING_AGG
  • LPAD
  • RPAD
  • LOWER
  • UPPER
  • LEN / LENGTH
  • LEN
  • LENGTH
  • INSTR
  • PATINDEX
  • POSITION
  • COUNT
  • AVG
  • MAX
  • MIN
  • SUM
  • EVERY
  • TOP
  • BOTTOM
  • LIMIT
  • ASCII
  • UNICODE
  • CURRENT_USER
  • SYSTEM_USER
  • USER_NAME
  • SOUNDEX, SOUND LIKE
  • SOUNDEX2, SOUND2 LIKE
  • ADD_MONTHS
  • LAST_DAY
  • DAY
  • DAYOFMONTH
  • DAYOFWEEK
  • DAYOFYEAR
  • CURRENT_TIMESTAMP
  • GETDATE
  • GETUTCDATE
  • MONTHS_BETWEEN
  • NEW_TIME
  • NEXT_DAY
  • ROUND
  • SYSDATE
  • TRUNC
  • COALESCE
  • NVL, IF_NULL, IS_NULL
  • DECODE
  • CASE
  • MATCH AGAINST
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Présentation
Les principales fonctions SQL pouvant être utilisées sur des requêtes en code SQL sont les suivantes (classées par thème) :
  • extraction de caractères :
  • suppression de caractères :
  • substitution de caractères :
  • fusion de chaînes :
  • complétion de chaînes :
  • conversion en chaîne de caractères :
  • modification de la casse d'une chaîne de caractères :
  • taille d'une chaîne de caractères :
  • LEN et LENGTH
  • CHARACTER_LENGTH, CHAR_LENGTH et OCTET_LENGTH
  • position d'une chaîne de caractères :
  • nombre d'enregistrements dans un fichier :
  • calculs de numériques :
Voir aussi les fonctions mathématiques SQL.
  • sélection des n premiers ou des n derniers enregistrements :
  • code ASCII
  • Divers
  • phonétique
  • gestion des dates
  • fonctions de comparaison
  • Instruction conditionnelle
  • Recherche "full-text"
  • Vérification
  • Expression régulière
Pour plus de détails sur les fonctions SQL, consultez une documentation spécifique au langage SQL.
Pour connaître toutes les commandes SQL (fonctions, clauses, opérateurs, ...) utilisables dans une requête SQL gérée par HFSQL, consultez Commandes utilisables dans une requête SQL gérée par HFSQL.
Remarques :
  • Ces instructions sont utilisables :
    • dans le code SQL des requêtes créées sous l'éditeur de requêtes. Ces requêtes sont ensuite exécutées grâce à la fonction HExécuteRequête.
    • dans le code SQL des requêtes exécutées avec la fonction du WLangage HExécuteRequêteSQL.
  • Sauf indication contraire, ces fonctions sont utilisables sur tous les types de sources de données (Oracle, Access, SQL Server, ...).
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Fonctions SQL

Expression scalaire

Chaque paramètre passé à ces fonctions SQL correspond à une expression (appelée "Expression scalaire").
Une expression peut correspondre :
  • à une constante : chaîne de caractères, entier, réel, caractère, ... Par exemple : 125, 'A', 'Dupont'.
  • au nom d'une rubrique.
  • au résultat d'une autre fonction SQL.
  • à un calcul sur une expression. Par exemple : "MaRubrique1+LEN(MaRubrique2)+1".
Versions 16 et supérieures
ELT
La fonction ELT renvoie la nième chaîne de caractères d'une liste de chaînes.
Format d'utilisation :
ELT(Numéro de la chaîne, Chaîne1, Chaîne2, Chaîne3, ...)
Exemple : Le code SQL suivant permet de sélectionner la première chaîne de la liste :
SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo')
Nouveauté 16
ELT
La fonction ELT renvoie la nième chaîne de caractères d'une liste de chaînes.
Format d'utilisation :
ELT(Numéro de la chaîne, Chaîne1, Chaîne2, Chaîne3, ...)
Exemple : Le code SQL suivant permet de sélectionner la première chaîne de la liste :
SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo')
ELT
La fonction ELT renvoie la nième chaîne de caractères d'une liste de chaînes.
Format d'utilisation :
ELT(Numéro de la chaîne, Chaîne1, Chaîne2, Chaîne3, ...)
Exemple : Le code SQL suivant permet de sélectionner la première chaîne de la liste :
SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo')
Versions 16 et supérieures
EXTRACTVALUE
La fonction EXTRACTVALUE permet de manipuler des chaînes XML. Cette fonction renvoie le texte (CDATA) du premier noeud texte qui est un fils de l'élément correspondant à l'expression XPATH. Si plusieurs correspondances sont trouvées, le contenu du premier noeud texte fils de chaque noeud correspondant à l'expression XPATH est retourné sous forme d'une chaîne délimitée par des espaces.
Format d'utilisation :
EXTRACTVALUE(Fragment de XML, Expression XPATH)
Le paramètre <Fragment de XML> doit être un fragment de XML valide. Il doit contenir une unique racine.
Exemple : Le code suivant permet de compter les éléments trouvés :
SELECT EXTRACTVALUE('<a><b/></a>', 'count(/a/b)')
FROM CLIENT
WHERE CLCLEUNIK=1
Nouveauté 16
EXTRACTVALUE
La fonction EXTRACTVALUE permet de manipuler des chaînes XML. Cette fonction renvoie le texte (CDATA) du premier noeud texte qui est un fils de l'élément correspondant à l'expression XPATH. Si plusieurs correspondances sont trouvées, le contenu du premier noeud texte fils de chaque noeud correspondant à l'expression XPATH est retourné sous forme d'une chaîne délimitée par des espaces.
Format d'utilisation :
EXTRACTVALUE(Fragment de XML, Expression XPATH)
Le paramètre <Fragment de XML> doit être un fragment de XML valide. Il doit contenir une unique racine.
Exemple : Le code suivant permet de compter les éléments trouvés :
SELECT EXTRACTVALUE('<a><b/></a>', 'count(/a/b)')
FROM CLIENT
WHERE CLCLEUNIK=1
EXTRACTVALUE
La fonction EXTRACTVALUE permet de manipuler des chaînes XML. Cette fonction renvoie le texte (CDATA) du premier noeud texte qui est un fils de l'élément correspondant à l'expression XPATH. Si plusieurs correspondances sont trouvées, le contenu du premier noeud texte fils de chaque noeud correspondant à l'expression XPATH est retourné sous forme d'une chaîne délimitée par des espaces.
Format d'utilisation :
EXTRACTVALUE(Fragment de XML, Expression XPATH)
Le paramètre <Fragment de XML> doit être un fragment de XML valide. Il doit contenir une unique racine.
Exemple : Le code suivant permet de compter les éléments trouvés :
SELECT EXTRACTVALUE('<a><b/></a>', 'count(/a/b)')
FROM CLIENT
WHERE CLCLEUNIK=1

LEFT

La fonction LEFT extrait la partie gauche (c'est-à-dire les premiers caractères) d'une expression.
Accès Natifs Cette fonction ne peut pas être utilisée sur une source de données PostgreSQL.
Format d'utilisation :
LEFT(Expression initiale, Nombre de caractères à extraire)
Exemple : Le code SQL suivant permet de lister les départements des clients :
SELECT LEFT(CodePostal, 2)
FROM CLIENT

RIGHT

La fonction RIGHT extrait la partie droite (c'est-à-dire les derniers caractères) d'une expression.
Format d'utilisation :
RIGHT(Expression initiale, Nombre de caractères à extraire)
Exemple : Le code SQL suivant permet d'extraire les cinq derniers caractères du nom des clients :
SELECT RIGHT(Nom, 5)
FROM CLIENT

MID, SUBSTR et SUBSTRING

Les fonctions MID, SUBSTR et SUBSTRING permettent d'extraire une sous-chaîne du contenu d'une expression à partir d'une position donnée.
Si la position donnée correspond à :
  • un nombre négatif, l'extraction se fera à partir de la fin de la chaîne.
  • à 0, l'extraction se fera à partir du début de la chaîne (équivalent à la position 1).
Si la valeur absolue de la position donnée (connue grâce à la fonction ABS) est supérieure au nombre de caractères de l'expression initiale, une chaîne vide est retournée.
Exemple : Le code SQL suivant permet d'extraire les villes dont le second caractère est un "A" :
SELECT
CODEPOSTAUX.IDCedex AS IDCedex,
CODEPOSTAUX.CodePostal AS CodePostal,
CODEPOSTAUX.Ville AS Ville,
SUBSTR(CODEPOSTAUX.Ville, 2, 1) AS Formule1
FROM
CODEPOSTAUX
WHERE
SUBSTR(CODEPOSTAUX.Ville, 2, 1) = 'A'

MID

La fonction MID peut être utilisée uniquement sur une source de données de type Access.
Format d'utilisation :
MID(Expression initiale, Position de départ, Nombre de caractères à extraire)
Exemple : Le code SQL suivant permet d'extraire les 3ème et 4ème caractères du nom des clients :
SELECT MID(Nom, 3, 2)
FROM CLIENT

SUBSTR

La fonction SUBSTR peut être utilisée uniquement sur une source de données de type Oracle, HFSQL Classic ou HFSQL Client/Serveur.
Format d'utilisation :
SUBSTR(Expression initiale, Position de départ, Nombre de caractères à extraire)
Exemple : Le code SQL suivant permet d'extraire les 3ème et 4ème caractères du nom des clients :
SELECT SUBSTR(Nom, 3, 2)
FROM CLIENT
Versions 16 et supérieures
SPLIT_PART
La fonction SPLIT_PART découpe une chaîne de caractères selon le séparateur spécifié et renvoie la nième partie de la chaîne.
Format d'utilisation :
SPLIT_PART(Expression initiale, Délimiteur, Numéro de la partie à extraire)
Exemple : Le code SQL suivant permet d'extraire les 3 premiers mots correspondants à l'adresse :
SELECT SPLIT_PART(ADRESSE,' ',1), SPLIT_PART(ADRESSE,' ',2),SPLIT_PART(ADRESSE,' ',3)
FROM CLIENT
WHERE CLCLEUNIK=2
Nouveauté 16
SPLIT_PART
La fonction SPLIT_PART découpe une chaîne de caractères selon le séparateur spécifié et renvoie la nième partie de la chaîne.
Format d'utilisation :
SPLIT_PART(Expression initiale, Délimiteur, Numéro de la partie à extraire)
Exemple : Le code SQL suivant permet d'extraire les 3 premiers mots correspondants à l'adresse :
SELECT SPLIT_PART(ADRESSE,' ',1), SPLIT_PART(ADRESSE,' ',2),SPLIT_PART(ADRESSE,' ',3)
FROM CLIENT
WHERE CLCLEUNIK=2
SPLIT_PART
La fonction SPLIT_PART découpe une chaîne de caractères selon le séparateur spécifié et renvoie la nième partie de la chaîne.
Format d'utilisation :
SPLIT_PART(Expression initiale, Délimiteur, Numéro de la partie à extraire)
Exemple : Le code SQL suivant permet d'extraire les 3 premiers mots correspondants à l'adresse :
SELECT SPLIT_PART(ADRESSE,' ',1), SPLIT_PART(ADRESSE,' ',2),SPLIT_PART(ADRESSE,' ',3)
FROM CLIENT
WHERE CLCLEUNIK=2
Versions 19 et supérieures

BTRIM

La fonction BTRIM supprime une séquence de caractères en début ou en fin de chaîne.
Format d'utilisation :
BTRIM(<Chaîne d'origine>, [<Chaîne à supprimer>])
Exemple : Supprimer la chaîne 'AB' de la chaîne 'ABRACADABRA'
BTRIM('ABRACADABRA','AB')
Dans cet exemple, le résultat est 'RCDR'.
Nouveauté 19

BTRIM

La fonction BTRIM supprime une séquence de caractères en début ou en fin de chaîne.
Format d'utilisation :
BTRIM(<Chaîne d'origine>, [<Chaîne à supprimer>])
Exemple : Supprimer la chaîne 'AB' de la chaîne 'ABRACADABRA'
BTRIM('ABRACADABRA','AB')
Dans cet exemple, le résultat est 'RCDR'.

BTRIM

La fonction BTRIM supprime une séquence de caractères en début ou en fin de chaîne.
Format d'utilisation :
BTRIM(<Chaîne d'origine>, [<Chaîne à supprimer>])
Exemple : Supprimer la chaîne 'AB' de la chaîne 'ABRACADABRA'
BTRIM('ABRACADABRA','AB')
Dans cet exemple, le résultat est 'RCDR'.

LTRIM

La fonction LTRIM renvoie une chaîne de caractères :
  • soit sans les espaces situés à gauche.
  • soit sans une liste de caractères.
La suppression des caractères s'effectue de la gauche vers la droite. Cette suppression est sensible à la casse (majuscule/minuscule). Cette suppression s'arrête sur le premier caractère trouvé n'appartenant pas à la liste spécifiée.
La suppression de caractères spécifiques ne peut pas être réalisée sur une source de données de type Access ou SQL Server.
Format d'utilisation :
-- Suppression des espaces situés à gauche
LTRIM(Expression initiale)
-- Suppression d'une liste de caractères
LTRIM(Expression initiale, Caractères à supprimer)
Exemple : Le nom des clients est précédé de la civilité des clients ("Mr.", "Mme." ou "Melle."). Le code SQL suivant permet de :
  • supprimer la civilité de chaque nom (lettres "M", "r", "m", "e" et "l" et le caractère point).
  • supprimer l'espace précédent le nom (espace qui était présent entre la civilité et le nom).
-- Suppression des caractères
SELECT LTRIM(Nom, 'Mrmel.')
FROM CLIENT
-- Suppression de l'espace
SELECT LTRIM(Nom)
FROM CLIENT
Dans cet exemple :
Si le nom du client est :La chaîne retournée est :
'Melle. DUPONT''DUPONT'
'Mr. CIRVAL''CIRVAL'
'Mme. Dubois''Dubois'

RTRIM

La fonction RTRIM renvoie une chaîne de caractères :
  • soit sans les espaces situés à droite.
  • soit sans une liste de caractères.
La suppression des caractères s'effectue de la droite vers la gauche. Cette suppression est sensible à la casse (majuscule/minuscule). Cette suppression s'arrête sur le premier caractère trouvé n'appartenant pas à la liste spécifiée.
La suppression de caractères spécifiques ne peut pas être réalisée sur une source de données de type Access ou SQL Server.
Format d'utilisation :
-- Suppression des espaces situés à droite
RTRIM(Expression initiale)
-- Suppression d'une liste de caractères
RTRIM(Expression initiale, Caractères à supprimer)
Exemple : Le code SQL suivant permet de supprimer les caractères 'E', 'U' et 'R' situés à droite du nom des clients :
SELECT RTRIM(Nom, 'EUR')
FROM CLIENT
Dans cet exemple :
Si le nom du client est :La chaîne retournée est :
'DUVALEUR''DUVAL'
'DRAFUREUR''DRAF'
'Galteur''Galteur'
'FOURMALTE''FOURMALTE'
'BENUR''BEN'

TRIM

La fonction TRIM renvoie une chaîne de caractères :
  • soit sans les espaces situés à gauche et à droite.
  • soit sans une chaîne de caractères située en début et en fin de chaîne.
  • soit sans une chaîne de caractères située en début de chaîne.
  • soit sans une chaîne de caractères située en fin de chaîne.
La suppression des caractères s'effectue de la droite vers la gauche. Cette suppression est sensible à la casse (majuscule/minuscule). Cette suppression s'arrête sur le premier caractère trouvé n'appartenant pas à la chaîne spécifiée.
Format d'utilisation :
-- Suppression des espaces situés à gauche et à droite
TRIM(Expression initiale)
-- Suppression d'une chaîne de caractères située en début et en fin de chaîne
TRIM(Expression initiale, Chaîne à supprimer)
-- OU
TRIM(BOTH Chaîne à supprimer FROM Expression initiale)
-- Suppression d'une chaîne de caractères située en début de chaîne
TRIM(LEADING Chaîne à supprimer FROM Expression initiale)
-- Suppression d'une chaîne de caractères située en fin de chaîne
TRIM(TRAILING Chaîne à supprimer FROM Expression initiale)
Versions 19 et supérieures

OVERLAY

La fonction OVERLAY permet de remplacer une chaîne de caractères dans une autre.
Format d'utilisation :
OVERLAY(<Chaîne d'origine> PLACING <Chaîne à remplacer>
FROM <Position de début> [FOR <Longueur>])
Exemple : Le code SQL suivant permet de remplacer "verte" par "rouge" :
SELECT OVERLAY('Pomme verte' PLACING 'rouge' FROM 7) FROM Produit
Nouveauté 19

OVERLAY

La fonction OVERLAY permet de remplacer une chaîne de caractères dans une autre.
Format d'utilisation :
OVERLAY(<Chaîne d'origine> PLACING <Chaîne à remplacer>
FROM <Position de début> [FOR <Longueur>])
Exemple : Le code SQL suivant permet de remplacer "verte" par "rouge" :
SELECT OVERLAY('Pomme verte' PLACING 'rouge' FROM 7) FROM Produit

OVERLAY

La fonction OVERLAY permet de remplacer une chaîne de caractères dans une autre.
Format d'utilisation :
OVERLAY(<Chaîne d'origine> PLACING <Chaîne à remplacer>
FROM <Position de début> [FOR <Longueur>])
Exemple : Le code SQL suivant permet de remplacer "verte" par "rouge" :
SELECT OVERLAY('Pomme verte' PLACING 'rouge' FROM 7) FROM Produit

REPLACE

La fonction REPLACE renvoie une chaîne de caractères :
  • soit en remplaçant toutes les occurrences d'un mot présent dans une chaîne par un autre mot.
  • soit en remplaçant toutes les occurrences d'un mot présent dans une chaîne.
Le remplacement s'effectue de la droite vers la gauche. Ce remplacement est sensible à la casse (majuscule/minuscule). Ce remplacement s'arrête sur le premier caractère trouvé n'appartenant pas à la chaîne spécifiée.
Format d'utilisation :
-- Remplacement de toutes les occurrences d'un mot par un autre
REPLACE(Expression initiale, Chaîne à remplacer, Nouvelle chaîne)
-- Suppression de toutes les occurrences d'un mot
REPLACE(Expression initiale, Chaîne à supprimer)
Versions 16 et supérieures
REVERSE
La fonction REVERSE renvoie une chaîne de caractères dont l'ordre des caractères est l'inverse de la chaîne initiale.
Format d'utilisation :
REVERSE(Chaîne initiale)
Nouveauté 16
REVERSE
La fonction REVERSE renvoie une chaîne de caractères dont l'ordre des caractères est l'inverse de la chaîne initiale.
Format d'utilisation :
REVERSE(Chaîne initiale)
REVERSE
La fonction REVERSE renvoie une chaîne de caractères dont l'ordre des caractères est l'inverse de la chaîne initiale.
Format d'utilisation :
REVERSE(Chaîne initiale)

TRANSLATE

La fonction TRANSLATE renvoie une chaîne de caractères en remplaçant tous les caractères indiqués par d'autres caractères. Si un caractère à remplacer n'a pas sa correspondance, ce caractère est supprimé.
Le remplacement s'effectue de la droite vers la gauche. Ce remplacement est sensible à la casse (majuscule/minuscule).
Format d'utilisation :
-- Remplacement des caractères
TRANSLATE(Expression initiale, Caractères à remplacer, Nouveaux caractères)
Exemple : Le code SQL suivant permet de remplacer :
  • le caractère "é" par le caractère "e".
  • le caractère "è" par le caractère "e".
  • le caractère "à" par le caractère "a".
  • le caractère "ù" par le caractère "u".
SELECT TRANSLATE(MonChamp, 'éèàù', 'eeau')
FROM MaTable

CONCAT

La fonction CONCAT concatène plusieurs chaînes entre elles.
Format d'utilisation :
CONCAT(Chaîne 1, Chaîne 2 [, ..., Chaîne N])
Accès Natifs CONCAT n'est pas géré par Sybase.
Versions 17 et supérieures

STRING_AGG

La fonction STRING_AGG permet de concaténer des chaînes non nulles d'une liste de valeurs.
Format d'utilisation :
STRING_AGG(chaîne, séparateur)
Exemple :
Le code suivant permet de renvoyer dans une seule chaîne, la liste des modes de livraison séparée par un ';'.
SELECT STRING_AGG(libelle,';') AS str FROM livraison
Contenu du fichier livraison :
  • Transporteur
  • Colis Expresss
  • Recommandé
  • Pris sur place
Résultat retourné par la fonction STRING_AGG : "Transporteur;Colis Expresss;Recommandé;Pris sur place".
Nouveauté 17

STRING_AGG

La fonction STRING_AGG permet de concaténer des chaînes non nulles d'une liste de valeurs.
Format d'utilisation :
STRING_AGG(chaîne, séparateur)
Exemple :
Le code suivant permet de renvoyer dans une seule chaîne, la liste des modes de livraison séparée par un ';'.
SELECT STRING_AGG(libelle,';') AS str FROM livraison
Contenu du fichier livraison :
  • Transporteur
  • Colis Expresss
  • Recommandé
  • Pris sur place
Résultat retourné par la fonction STRING_AGG : "Transporteur;Colis Expresss;Recommandé;Pris sur place".

STRING_AGG

La fonction STRING_AGG permet de concaténer des chaînes non nulles d'une liste de valeurs.
Format d'utilisation :
STRING_AGG(chaîne, séparateur)
Exemple :
Le code suivant permet de renvoyer dans une seule chaîne, la liste des modes de livraison séparée par un ';'.
SELECT STRING_AGG(libelle,';') AS str FROM livraison
Contenu du fichier livraison :
  • Transporteur
  • Colis Expresss
  • Recommandé
  • Pris sur place
Résultat retourné par la fonction STRING_AGG : "Transporteur;Colis Expresss;Recommandé;Pris sur place".

LPAD

La fonction LPAD renvoie une chaîne de taille déterminée. Pour atteindre la taille requise, cette chaîne est complétée à gauche :
  • soit par des espaces.
  • soit par un caractère ou une chaîne donnée.
Format d'utilisation :
-- Complétion par des espaces
LPAD(Expression initiale, Longueur)
-- Complétion par un caractère
LPAD(Expression initiale, Longueur, Caractère)
-- Complétion par une chaîne de caractères
LPAD(Expression initiale, Longueur, Chaîne de caractères)
Versions 16 et supérieures
REPEAT
La fonction REPEAT renvoie une chaîne de caractères constituée de la n fois la répétition de la chaîne initiale.
  • Si n est inférieur ou égal à 0, la fonction renvoie une chaîne vide.
  • Si la chaîne initiale ou n sont NULL, la fonction renvoie NULL.
Format d'utilisation :
REPEAT(Chaîne initiale, n)
Exemple : Le code suivant permet de répéter 3 fois le nom du contact :
SELECT REPEAT(NOMCONTACT,14)
FROM CLIENT
WHERE CLCLEUNIK=10
Nouveauté 16
REPEAT
La fonction REPEAT renvoie une chaîne de caractères constituée de la n fois la répétition de la chaîne initiale.
  • Si n est inférieur ou égal à 0, la fonction renvoie une chaîne vide.
  • Si la chaîne initiale ou n sont NULL, la fonction renvoie NULL.
Format d'utilisation :
REPEAT(Chaîne initiale, n)
Exemple : Le code suivant permet de répéter 3 fois le nom du contact :
SELECT REPEAT(NOMCONTACT,14)
FROM CLIENT
WHERE CLCLEUNIK=10
REPEAT
La fonction REPEAT renvoie une chaîne de caractères constituée de la n fois la répétition de la chaîne initiale.
  • Si n est inférieur ou égal à 0, la fonction renvoie une chaîne vide.
  • Si la chaîne initiale ou n sont NULL, la fonction renvoie NULL.
Format d'utilisation :
REPEAT(Chaîne initiale, n)
Exemple : Le code suivant permet de répéter 3 fois le nom du contact :
SELECT REPEAT(NOMCONTACT,14)
FROM CLIENT
WHERE CLCLEUNIK=10

RPAD

La fonction RPAD renvoie une chaîne de taille déterminée. Pour atteindre la taille requise, cette chaîne est complétée à droite :
  • soit par des espaces.
  • soit par un caractère ou une chaîne donnée.
Format d'utilisation :
-- Complétion par des espaces
RPAD(Expression initiale, Longueur)
-- Complétion par un caractère
RPAD(Expression initiale, Longueur, Caractère)
-- Complétion par une chaîne de caractères
RPAD(Expression initiale, Longueur, Chaîne de caractères)
Versions 16 et supérieures
SPACE
La fonction SPACE renvoie une chaîne constituée de N espaces.

Format d'utilisation :
SPACE(N)
Nouveauté 16
SPACE
La fonction SPACE renvoie une chaîne constituée de N espaces.

Format d'utilisation :
SPACE(N)
SPACE
La fonction SPACE renvoie une chaîne constituée de N espaces.

Format d'utilisation :
SPACE(N)
Versions 19 et supérieures
TO_CHAR
La fonction TO_CHAR permet de convertir en chaîne de caractères :
  • une dateheure,
  • une valeur numérique.
Format d'utilisation :
1. Conversion d'une dateheure :
TO_CHAR(<Valeur dateheure>, <Format dateheure> [, <Options dateheure>])
Dans cette syntaxe :
  • Le paramètre <Format dateheure> peut correspondre à un des éléments suivants :
    • "-", "/", ",", ".", ";", ":"
    • "text" : caractères de ponctuation (séparation) pour une date et/ou une heure.
    • AD, A.D. : Indicateur de l'ère AD pour une date (Après Jésus-Christ)
    • AM, A.M. : Indicateur du méridien AM pour l'heure (Anté méridien)
    • BC, B.C. : Indicateur de l'ère BC pour une date (Avant Jésus-Christ)
    • CC ou SCC Siècle :
      • Si les deux derniers chiffres du siècle sur 4 chiffres sont compris entre 01 et 99 (inclus), le siècle est représenté par les 2 derniers chiffres de l'année.
      • Si les deux derniers chiffres du siècle sur 4 chiffres sont 00, alors le siècle est représenté par les 2 premiers chiffres de l'année.
        Par exemple, 2002 retourne 02; 2000 retourne 20.
    • D : Numéro du jour dans la semaine (1-7).
    • DAY : Jour en lettres.
    • DD : Numéro du jour dans le mois (1-31).
    • DDD : Numéro du jour dans l'année (1-366).
    • DY : Jour en lettres abrégé
    • FF [1..9] : Fractions de secondes. Le chiffre représente le nombre de chiffres représentant la fraction de seconde. Exemples :
      • 'HH:MI:SS.FF'
      • SELECT TO_CHAR(SYSTIMESTAMP, 'SS.FF3') from dual;
    • FM : Enlève les espaces à droite et à gauche.
    • HH : heure du jour (1-12).
    • HH12 : heure du jour (1-12).
    • HH24 : heure du hour (0-23).
    • IW : Numéro de la semaine dans l'année (1-52 ou 1-53) basé sur le standard ISO.
    • IYY, IY, I : représente les derniers chiffres 3, 2, ou 1 de l'année au format ISO.
    • IYYY : représente les 4 chiffres de l'année.
    • J : Jour dans le calendrier Julien. Le nombre de jours depuis le 1er janvier 4712 BC.
    • MI : Minutes (0-59).
    • MM : Mois (01-12; Janvier = 01).
    • MON : Mois en abrégé.
    • MONTH : Mois complet en lettres.
    • PM, P.M. : Indicateur du méridien PM pour l'heure (Post méridien).
    • Q : Trimestre (1, 2, 3, 4; Janvier - Mars = 1).
    • RM : Mois en chiffres romains (I-XII; Janvier = I).
    • SS : Secondes (0-59).
    • SSSSS : Nombre de secondes passées depuis minuit (0-86399).
    • WW : Numéro de la semaine (1-53) avec la semaine 1 qui commence le premier jour de l'année.
    • W : Numéro de semaine dans le mois (1-5) avec la semaine 1 qui commence le premier jour du mois.
    • X : Séparateur pour la fraction de secondes. Exemple : 'HH:MI:SSXFF'.
    • Y,YYY : Année avec une virgule. La virgule est en fait le séparateur de groupement de la locale.
    • YEAR, SYEAR : Année S signifie BC, Année signée avec un signe moins.
    • YYYY, SYYYY : Année sur 4 chiffres; S signifie BC, Année signée avec un signe moins.
    • YYY, YY, Y : Dernier chiffre de l'année 3, 2, ou 1 chiffre.
  • Le paramètre <Options dateheure> est une chaîne de caractères contenant les mots-clés suivants :
    • "NLS_DATE_LANGUAGE=’langue en us’"
    • "NLS_NUMERIC_CHARACTERS =’dg’" : ‘dg’ est une chaîne de deux caractères dont le premier correspond au séparateur décimal et le second correspond au séparateur de groupement (entre millier et centaine par exemple).
      Exemple : ‘NLS_DATE_LANGUAGE=’’french’’, NLS_NUMERIC_CHARACTERS =’’, ‘’’
2. Conversion d'une valeur numérique :
TO_CHAR(<Valeur numérique>, <Format numérique> [, <Options numérique>])
  • Le paramètre <Format numérique> peut correspondre à un des éléments suivants :
    • , (virgule). Positionne une virgule à l'emplacement indiqué. Exemple : 9,999
    • . (point). Positionne une point à l'emplacement indiqué. Exemple : 99.99
    • 0. Complète avec des zéros devant ou derrière. Exemple : 0999 ou 9990
    • 9. Représente les chiffres. Exemple : 9999
    • B. Remplace les zéros par des espaces. Exemple : B9999
    • C. Positionne le symbole de devise selon la norme ISO quand le paramètre NLS_ISO_CURRENCY est utilisé. Exemple : C999
    • D. Indique la position du séparateur décimal quand le paramètre NLS_NUMERIC_CHARACTER est utilisé. Le (.) est le séparateur par défaut. Exemple : 99D99
    • EEEE. Retourne une valeur au format scientifique. Exemple : 9.9EEEE
    • G. Indique le séparateur de milliers quand le paramètre NLS_NUMERIC_CHARACTER est utilisé. Il est possible de spécifier plusieurs séparateurs de milliers. Exemple : 9G999
    • L. Indique la position du symbole de devise quand le paramètre NLS_ISO_CURRENCY est utilisé. Exemple : L999
    • MI. Place le signe - après des valeurs négatives. Exemple : 9999MI
    • PR. Place les valeurs négatives entre des chevrons. Exemple : 9999PR
    • rn ou RN. Retourne la valeur en chiffres romains en majuscules ou minuscules.
    • S. Indique le signe +/- Positif ou Négatif. Exemple : S9999
    • U. Indique le symbole monétaire Euro quand le paramètre NLS_DUAL_CURRENCY est utilisé. Exemple : U9999
    • V. Retourne la valeur en puissance de 10. Exemple 999V99
    • X. Retourne la valeur en hexadécimal. Exemple : XXXX
  • Dans cette syntaxe, le paramètre <Options numérique> est une chaîne de caractères contenant les mots-clés suivants :
    • "NLS_CURRENCY=’monnaie en us’"
    • "NLS_NUMERIC_CHARACTERS =’dg’" : ‘dg’ est une chaîne de deux caractères dont le premier correspond au séparateur décimal et le second correspond au séparateur de groupement (entre millier et centaine par exemple).
      Exemple : NLS_CURRENCY=’$’, NLS_NUMERIC_CHARACTERS=’dg’
Remarque : Par défaut la langue, la monnaie, et les séparateurs sont déterminés par la nation en cours.
Nouveauté 19
TO_CHAR
La fonction TO_CHAR permet de convertir en chaîne de caractères :
  • une dateheure,
  • une valeur numérique.
Format d'utilisation :
1. Conversion d'une dateheure :
TO_CHAR(<Valeur dateheure>, <Format dateheure> [, <Options dateheure>])
Dans cette syntaxe :
  • Le paramètre <Format dateheure> peut correspondre à un des éléments suivants :
    • "-", "/", ",", ".", ";", ":"
    • "text" : caractères de ponctuation (séparation) pour une date et/ou une heure.
    • AD, A.D. : Indicateur de l'ère AD pour une date (Après Jésus-Christ)
    • AM, A.M. : Indicateur du méridien AM pour l'heure (Anté méridien)
    • BC, B.C. : Indicateur de l'ère BC pour une date (Avant Jésus-Christ)
    • CC ou SCC Siècle :
      • Si les deux derniers chiffres du siècle sur 4 chiffres sont compris entre 01 et 99 (inclus), le siècle est représenté par les 2 derniers chiffres de l'année.
      • Si les deux derniers chiffres du siècle sur 4 chiffres sont 00, alors le siècle est représenté par les 2 premiers chiffres de l'année.
        Par exemple, 2002 retourne 02; 2000 retourne 20.
    • D : Numéro du jour dans la semaine (1-7).
    • DAY : Jour en lettres.
    • DD : Numéro du jour dans le mois (1-31).
    • DDD : Numéro du jour dans l'année (1-366).
    • DY : Jour en lettres abrégé
    • FF [1..9] : Fractions de secondes. Le chiffre représente le nombre de chiffres représentant la fraction de seconde. Exemples :
      • 'HH:MI:SS.FF'
      • SELECT TO_CHAR(SYSTIMESTAMP, 'SS.FF3') from dual;
    • FM : Enlève les espaces à droite et à gauche.
    • HH : heure du jour (1-12).
    • HH12 : heure du jour (1-12).
    • HH24 : heure du hour (0-23).
    • IW : Numéro de la semaine dans l'année (1-52 ou 1-53) basé sur le standard ISO.
    • IYY, IY, I : représente les derniers chiffres 3, 2, ou 1 de l'année au format ISO.
    • IYYY : représente les 4 chiffres de l'année.
    • J : Jour dans le calendrier Julien. Le nombre de jours depuis le 1er janvier 4712 BC.
    • MI : Minutes (0-59).
    • MM : Mois (01-12; Janvier = 01).
    • MON : Mois en abrégé.
    • MONTH : Mois complet en lettres.
    • PM, P.M. : Indicateur du méridien PM pour l'heure (Post méridien).
    • Q : Trimestre (1, 2, 3, 4; Janvier - Mars = 1).
    • RM : Mois en chiffres romains (I-XII; Janvier = I).
    • SS : Secondes (0-59).
    • SSSSS : Nombre de secondes passées depuis minuit (0-86399).
    • WW : Numéro de la semaine (1-53) avec la semaine 1 qui commence le premier jour de l'année.
    • W : Numéro de semaine dans le mois (1-5) avec la semaine 1 qui commence le premier jour du mois.
    • X : Séparateur pour la fraction de secondes. Exemple : 'HH:MI:SSXFF'.
    • Y,YYY : Année avec une virgule. La virgule est en fait le séparateur de groupement de la locale.
    • YEAR, SYEAR : Année S signifie BC, Année signée avec un signe moins.
    • YYYY, SYYYY : Année sur 4 chiffres; S signifie BC, Année signée avec un signe moins.
    • YYY, YY, Y : Dernier chiffre de l'année 3, 2, ou 1 chiffre.
  • Le paramètre <Options dateheure> est une chaîne de caractères contenant les mots-clés suivants :
    • "NLS_DATE_LANGUAGE=’langue en us’"
    • "NLS_NUMERIC_CHARACTERS =’dg’" : ‘dg’ est une chaîne de deux caractères dont le premier correspond au séparateur décimal et le second correspond au séparateur de groupement (entre millier et centaine par exemple).
      Exemple : ‘NLS_DATE_LANGUAGE=’’french’’, NLS_NUMERIC_CHARACTERS =’’, ‘’’
2. Conversion d'une valeur numérique :
TO_CHAR(<Valeur numérique>, <Format numérique> [, <Options numérique>])
  • Le paramètre <Format numérique> peut correspondre à un des éléments suivants :
    • , (virgule). Positionne une virgule à l'emplacement indiqué. Exemple : 9,999
    • . (point). Positionne une point à l'emplacement indiqué. Exemple : 99.99
    • 0. Complète avec des zéros devant ou derrière. Exemple : 0999 ou 9990
    • 9. Représente les chiffres. Exemple : 9999
    • B. Remplace les zéros par des espaces. Exemple : B9999
    • C. Positionne le symbole de devise selon la norme ISO quand le paramètre NLS_ISO_CURRENCY est utilisé. Exemple : C999
    • D. Indique la position du séparateur décimal quand le paramètre NLS_NUMERIC_CHARACTER est utilisé. Le (.) est le séparateur par défaut. Exemple : 99D99
    • EEEE. Retourne une valeur au format scientifique. Exemple : 9.9EEEE
    • G. Indique le séparateur de milliers quand le paramètre NLS_NUMERIC_CHARACTER est utilisé. Il est possible de spécifier plusieurs séparateurs de milliers. Exemple : 9G999
    • L. Indique la position du symbole de devise quand le paramètre NLS_ISO_CURRENCY est utilisé. Exemple : L999
    • MI. Place le signe - après des valeurs négatives. Exemple : 9999MI
    • PR. Place les valeurs négatives entre des chevrons. Exemple : 9999PR
    • rn ou RN. Retourne la valeur en chiffres romains en majuscules ou minuscules.
    • S. Indique le signe +/- Positif ou Négatif. Exemple : S9999
    • U. Indique le symbole monétaire Euro quand le paramètre NLS_DUAL_CURRENCY est utilisé. Exemple : U9999
    • V. Retourne la valeur en puissance de 10. Exemple 999V99
    • X. Retourne la valeur en hexadécimal. Exemple : XXXX
  • Dans cette syntaxe, le paramètre <Options numérique> est une chaîne de caractères contenant les mots-clés suivants :
    • "NLS_CURRENCY=’monnaie en us’"
    • "NLS_NUMERIC_CHARACTERS =’dg’" : ‘dg’ est une chaîne de deux caractères dont le premier correspond au séparateur décimal et le second correspond au séparateur de groupement (entre millier et centaine par exemple).
      Exemple : NLS_CURRENCY=’$’, NLS_NUMERIC_CHARACTERS=’dg’
Remarque : Par défaut la langue, la monnaie, et les séparateurs sont déterminés par la nation en cours.
TO_CHAR
La fonction TO_CHAR permet de convertir en chaîne de caractères :
  • une dateheure,
  • une valeur numérique.
Format d'utilisation :
1. Conversion d'une dateheure :
TO_CHAR(<Valeur dateheure>, <Format dateheure> [, <Options dateheure>])
Dans cette syntaxe :
  • Le paramètre <Format dateheure> peut correspondre à un des éléments suivants :
    • "-", "/", ",", ".", ";", ":"
    • "text" : caractères de ponctuation (séparation) pour une date et/ou une heure.
    • AD, A.D. : Indicateur de l'ère AD pour une date (Après Jésus-Christ)
    • AM, A.M. : Indicateur du méridien AM pour l'heure (Anté méridien)
    • BC, B.C. : Indicateur de l'ère BC pour une date (Avant Jésus-Christ)
    • CC ou SCC Siècle :
      • Si les deux derniers chiffres du siècle sur 4 chiffres sont compris entre 01 et 99 (inclus), le siècle est représenté par les 2 derniers chiffres de l'année.
      • Si les deux derniers chiffres du siècle sur 4 chiffres sont 00, alors le siècle est représenté par les 2 premiers chiffres de l'année.
        Par exemple, 2002 retourne 02; 2000 retourne 20.
    • D : Numéro du jour dans la semaine (1-7).
    • DAY : Jour en lettres.
    • DD : Numéro du jour dans le mois (1-31).
    • DDD : Numéro du jour dans l'année (1-366).
    • DY : Jour en lettres abrégé
    • FF [1..9] : Fractions de secondes. Le chiffre représente le nombre de chiffres représentant la fraction de seconde. Exemples :
      • 'HH:MI:SS.FF'
      • SELECT TO_CHAR(SYSTIMESTAMP, 'SS.FF3') from dual;
    • FM : Enlève les espaces à droite et à gauche.
    • HH : heure du jour (1-12).
    • HH12 : heure du jour (1-12).
    • HH24 : heure du hour (0-23).
    • IW : Numéro de la semaine dans l'année (1-52 ou 1-53) basé sur le standard ISO.
    • IYY, IY, I : représente les derniers chiffres 3, 2, ou 1 de l'année au format ISO.
    • IYYY : représente les 4 chiffres de l'année.
    • J : Jour dans le calendrier Julien. Le nombre de jours depuis le 1er janvier 4712 BC.
    • MI : Minutes (0-59).
    • MM : Mois (01-12; Janvier = 01).
    • MON : Mois en abrégé.
    • MONTH : Mois complet en lettres.
    • PM, P.M. : Indicateur du méridien PM pour l'heure (Post méridien).
    • Q : Trimestre (1, 2, 3, 4; Janvier - Mars = 1).
    • RM : Mois en chiffres romains (I-XII; Janvier = I).
    • SS : Secondes (0-59).
    • SSSSS : Nombre de secondes passées depuis minuit (0-86399).
    • WW : Numéro de la semaine (1-53) avec la semaine 1 qui commence le premier jour de l'année.
    • W : Numéro de semaine dans le mois (1-5) avec la semaine 1 qui commence le premier jour du mois.
    • X : Séparateur pour la fraction de secondes. Exemple : 'HH:MI:SSXFF'.
    • Y,YYY : Année avec une virgule. La virgule est en fait le séparateur de groupement de la locale.
    • YEAR, SYEAR : Année S signifie BC, Année signée avec un signe moins.
    • YYYY, SYYYY : Année sur 4 chiffres; S signifie BC, Année signée avec un signe moins.
    • YYY, YY, Y : Dernier chiffre de l'année 3, 2, ou 1 chiffre.
  • Le paramètre <Options dateheure> est une chaîne de caractères contenant les mots-clés suivants :
    • "NLS_DATE_LANGUAGE=’langue en us’"
    • "NLS_NUMERIC_CHARACTERS =’dg’" : ‘dg’ est une chaîne de deux caractères dont le premier correspond au séparateur décimal et le second correspond au séparateur de groupement (entre millier et centaine par exemple).
      Exemple : ‘NLS_DATE_LANGUAGE=’’french’’, NLS_NUMERIC_CHARACTERS =’’, ‘’’
2. Conversion d'une valeur numérique :
TO_CHAR(<Valeur numérique>, <Format numérique> [, <Options numérique>])
  • Le paramètre <Format numérique> peut correspondre à un des éléments suivants :
    • , (virgule). Positionne une virgule à l'emplacement indiqué. Exemple : 9,999
    • . (point). Positionne une point à l'emplacement indiqué. Exemple : 99.99
    • 0. Complète avec des zéros devant ou derrière. Exemple : 0999 ou 9990
    • 9. Représente les chiffres. Exemple : 9999
    • B. Remplace les zéros par des espaces. Exemple : B9999
    • C. Positionne le symbole de devise selon la norme ISO quand le paramètre NLS_ISO_CURRENCY est utilisé. Exemple : C999
    • D. Indique la position du séparateur décimal quand le paramètre NLS_NUMERIC_CHARACTER est utilisé. Le (.) est le séparateur par défaut. Exemple : 99D99
    • EEEE. Retourne une valeur au format scientifique. Exemple : 9.9EEEE
    • G. Indique le séparateur de milliers quand le paramètre NLS_NUMERIC_CHARACTER est utilisé. Il est possible de spécifier plusieurs séparateurs de milliers. Exemple : 9G999
    • L. Indique la position du symbole de devise quand le paramètre NLS_ISO_CURRENCY est utilisé. Exemple : L999
    • MI. Place le signe - après des valeurs négatives. Exemple : 9999MI
    • PR. Place les valeurs négatives entre des chevrons. Exemple : 9999PR
    • rn ou RN. Retourne la valeur en chiffres romains en majuscules ou minuscules.
    • S. Indique le signe +/- Positif ou Négatif. Exemple : S9999
    • U. Indique le symbole monétaire Euro quand le paramètre NLS_DUAL_CURRENCY est utilisé. Exemple : U9999
    • V. Retourne la valeur en puissance de 10. Exemple 999V99
    • X. Retourne la valeur en hexadécimal. Exemple : XXXX
  • Dans cette syntaxe, le paramètre <Options numérique> est une chaîne de caractères contenant les mots-clés suivants :
    • "NLS_CURRENCY=’monnaie en us’"
    • "NLS_NUMERIC_CHARACTERS =’dg’" : ‘dg’ est une chaîne de deux caractères dont le premier correspond au séparateur décimal et le second correspond au séparateur de groupement (entre millier et centaine par exemple).
      Exemple : NLS_CURRENCY=’$’, NLS_NUMERIC_CHARACTERS=’dg’
Remarque : Par défaut la langue, la monnaie, et les séparateurs sont déterminés par la nation en cours.
Versions 20 et supérieures
CHAR
La fonction CHAR permet de convertir un code ASCII (un entier) en caractère.

Format d'utilisation :
CHAR(<Code ASCII>)
<Code ASCII> est un numérique et correspond au caractère ASCII à convertir, compris entre 0 et 255. Dans le cas contraire, le caractère renvoyé par la fonction est NULL.
Le résultat de la fonction est le caractère correspondant au code ASCII du paramètre <Code ASCII>.
Remarque : Le résultat renvoyé dépend de l'alphabet courant.
Nouveauté 20
CHAR
La fonction CHAR permet de convertir un code ASCII (un entier) en caractère.

Format d'utilisation :
CHAR(<Code ASCII>)
<Code ASCII> est un numérique et correspond au caractère ASCII à convertir, compris entre 0 et 255. Dans le cas contraire, le caractère renvoyé par la fonction est NULL.
Le résultat de la fonction est le caractère correspondant au code ASCII du paramètre <Code ASCII>.
Remarque : Le résultat renvoyé dépend de l'alphabet courant.
CHAR
La fonction CHAR permet de convertir un code ASCII (un entier) en caractère.

Format d'utilisation :
CHAR(<Code ASCII>)
<Code ASCII> est un numérique et correspond au caractère ASCII à convertir, compris entre 0 et 255. Dans le cas contraire, le caractère renvoyé par la fonction est NULL.
Le résultat de la fonction est le caractère correspondant au code ASCII du paramètre <Code ASCII>.
Remarque : Le résultat renvoyé dépend de l'alphabet courant.
Versions 20 et supérieures
CHR
La fonction CHR permet de convertir un code ASCII (un entier) en caractère.
CHR(<Code ASCII>)
<Code ASCII> est un numérique et correspond au caractère ASCII à convertir, compris entre 0 et 255. Dans le cas contraire, le caractère renvoyé par la fonction est NULL.
Le résultat de la fonction est le caractère correspondant au code ASCII du paramètre <Code ASCII>.
Remarques :
  • Le résultat renvoyé dépend de l'alphabet courant.
  • Si on est en UTF8, l'entier envoyé est interprété comme un "code point" sinon le caractère renvoyé correspond au caractère modulo 256.
Nouveauté 20
CHR
La fonction CHR permet de convertir un code ASCII (un entier) en caractère.
CHR(<Code ASCII>)
<Code ASCII> est un numérique et correspond au caractère ASCII à convertir, compris entre 0 et 255. Dans le cas contraire, le caractère renvoyé par la fonction est NULL.
Le résultat de la fonction est le caractère correspondant au code ASCII du paramètre <Code ASCII>.
Remarques :
  • Le résultat renvoyé dépend de l'alphabet courant.
  • Si on est en UTF8, l'entier envoyé est interprété comme un "code point" sinon le caractère renvoyé correspond au caractère modulo 256.
CHR
La fonction CHR permet de convertir un code ASCII (un entier) en caractère.
CHR(<Code ASCII>)
<Code ASCII> est un numérique et correspond au caractère ASCII à convertir, compris entre 0 et 255. Dans le cas contraire, le caractère renvoyé par la fonction est NULL.
Le résultat de la fonction est le caractère correspondant au code ASCII du paramètre <Code ASCII>.
Remarques :
  • Le résultat renvoyé dépend de l'alphabet courant.
  • Si on est en UTF8, l'entier envoyé est interprété comme un "code point" sinon le caractère renvoyé correspond au caractère modulo 256.
Versions 20 et supérieures
CAST
La fonction CAST permet de convertir une donnée d'un type dans un autre.
CAST(Expression AS Type)
  • Le paramètre <Expression> représente la valeur à convertir.
  • Le paramètre <Type> représente le nouveau type dans lequel l'expression est convertie. Les types disponibles sont :
CHARACTERChaîne de caractères
CHARACTER(Taille)Chaîne sur taille
VARCHAR(Taille)Chaîne sur taille
CHARACTER VARYING(Taille)Chaîne sur taille
CHAR VARYING(Taille)Chaîne sur taille
NVARCHAR(Taille)Chaîne Unicode sur taille
VARCHAR(Taille) BINARYChaîne binaire sur taille
BINARY(Taille)Chaîne binaire sur taille
VARBINARY(Taille)Chaîne binaire sur taille
BLOBMémo binaire
CLOBMémo texte
TEXTMémo texte
NCLOBMémo Unicode
NTEXTMémo Unicode
NUMBER(Précision)Entier
NUMBER(Précision, échelle)Entier
DECIMAL(Précision)Réel
DECIMAL(Précision, échelle)Réel
TINYINT UNSIGNEDEntier non signé sur 1 octet
SMALLINT UNSIGNEDEntier non signé sur 2 octets
INTEGER UNSIGNEDEntier non signé sur 4 octets
BIGINT UNSIGNEDEntier non signé sur 8 octets
TINYINTEntier signé sur 1 octet
SMALLINTEntier signé sur 2 octets
INTEGEREntier signé sur 4 octets
BIGINTEntier signé sur 8 octets
FLOATRéel sur 4 octets
REALRéel sur 8 octets
DOUBLE PRECISIONRéel sur 8 octets
MONEYMonétaire
DATEDATE
DATETIMEDate heure
TIMEHeure
Le résultat de la fonction est la valeur convertie.
Exemple :
CAST(126.12 AS INTEGER)
Ce code renvoie : "126".
Nouveauté 20
CAST
La fonction CAST permet de convertir une donnée d'un type dans un autre.
CAST(Expression AS Type)
  • Le paramètre <Expression> représente la valeur à convertir.
  • Le paramètre <Type> représente le nouveau type dans lequel l'expression est convertie. Les types disponibles sont :
CHARACTERChaîne de caractères
CHARACTER(Taille)Chaîne sur taille
VARCHAR(Taille)Chaîne sur taille
CHARACTER VARYING(Taille)Chaîne sur taille
CHAR VARYING(Taille)Chaîne sur taille
NVARCHAR(Taille)Chaîne Unicode sur taille
VARCHAR(Taille) BINARYChaîne binaire sur taille
BINARY(Taille)Chaîne binaire sur taille
VARBINARY(Taille)Chaîne binaire sur taille
BLOBMémo binaire
CLOBMémo texte
TEXTMémo texte
NCLOBMémo Unicode
NTEXTMémo Unicode
NUMBER(Précision)Entier
NUMBER(Précision, échelle)Entier
DECIMAL(Précision)Réel
DECIMAL(Précision, échelle)Réel
TINYINT UNSIGNEDEntier non signé sur 1 octet
SMALLINT UNSIGNEDEntier non signé sur 2 octets
INTEGER UNSIGNEDEntier non signé sur 4 octets
BIGINT UNSIGNEDEntier non signé sur 8 octets
TINYINTEntier signé sur 1 octet
SMALLINTEntier signé sur 2 octets
INTEGEREntier signé sur 4 octets
BIGINTEntier signé sur 8 octets
FLOATRéel sur 4 octets
REALRéel sur 8 octets
DOUBLE PRECISIONRéel sur 8 octets
MONEYMonétaire
DATEDATE
DATETIMEDate heure
TIMEHeure
Le résultat de la fonction est la valeur convertie.
Exemple :
CAST(126.12 AS INTEGER)
Ce code renvoie : "126".
CAST
La fonction CAST permet de convertir une donnée d'un type dans un autre.
CAST(Expression AS Type)
  • Le paramètre <Expression> représente la valeur à convertir.
  • Le paramètre <Type> représente le nouveau type dans lequel l'expression est convertie. Les types disponibles sont :
CHARACTERChaîne de caractères
CHARACTER(Taille)Chaîne sur taille
VARCHAR(Taille)Chaîne sur taille
CHARACTER VARYING(Taille)Chaîne sur taille
CHAR VARYING(Taille)Chaîne sur taille
NVARCHAR(Taille)Chaîne Unicode sur taille
VARCHAR(Taille) BINARYChaîne binaire sur taille
BINARY(Taille)Chaîne binaire sur taille
VARBINARY(Taille)Chaîne binaire sur taille
BLOBMémo binaire
CLOBMémo texte
TEXTMémo texte
NCLOBMémo Unicode
NTEXTMémo Unicode
NUMBER(Précision)Entier
NUMBER(Précision, échelle)Entier
DECIMAL(Précision)Réel
DECIMAL(Précision, échelle)Réel
TINYINT UNSIGNEDEntier non signé sur 1 octet
SMALLINT UNSIGNEDEntier non signé sur 2 octets
INTEGER UNSIGNEDEntier non signé sur 4 octets
BIGINT UNSIGNEDEntier non signé sur 8 octets
TINYINTEntier signé sur 1 octet
SMALLINTEntier signé sur 2 octets
INTEGEREntier signé sur 4 octets
BIGINTEntier signé sur 8 octets
FLOATRéel sur 4 octets
REALRéel sur 8 octets
DOUBLE PRECISIONRéel sur 8 octets
MONEYMonétaire
DATEDATE
DATETIMEDate heure
TIMEHeure
Le résultat de la fonction est la valeur convertie.
Exemple :
CAST(126.12 AS INTEGER)
Ce code renvoie : "126".
Versions 21 et supérieures
CONVERT
La fonction CONVERT permet de convertir une chaîne de caractères d'un alphabet vers un autre.
Format d'utilisation :
CONVERT(Texte à convertir, alphabet utilisé, nouvel alphabet)
Exemple : Conversion d'une chaîne UTF-8 en LATIN1 :
SELECT CONVERT('texte en utf8', 'UTF8', 'LATIN1')
Remarque : Cette fonction n'est pas disponible pour les requêtes SQL exécutées sur des fichiers HFSQL en Android.
Nouveauté 21
CONVERT
La fonction CONVERT permet de convertir une chaîne de caractères d'un alphabet vers un autre.
Format d'utilisation :
CONVERT(Texte à convertir, alphabet utilisé, nouvel alphabet)
Exemple : Conversion d'une chaîne UTF-8 en LATIN1 :
SELECT CONVERT('texte en utf8', 'UTF8', 'LATIN1')
Remarque : Cette fonction n'est pas disponible pour les requêtes SQL exécutées sur des fichiers HFSQL en Android.
CONVERT
La fonction CONVERT permet de convertir une chaîne de caractères d'un alphabet vers un autre.
Format d'utilisation :
CONVERT(Texte à convertir, alphabet utilisé, nouvel alphabet)
Exemple : Conversion d'une chaîne UTF-8 en LATIN1 :
SELECT CONVERT('texte en utf8', 'UTF8', 'LATIN1')
Remarque : Cette fonction n'est pas disponible pour les requêtes SQL exécutées sur des fichiers HFSQL en Android.
Versions 19 et supérieures
INITCAP
La fonction INITCAP renvoie une chaîne dans laquelle la première lettre de chaque mot est mise en majuscule et toutes les autres lettres sont mises en minuscules.

Format d'utilisation :
INITCAP(<Chaîne>)
Exemple :
INITCAP('iL Fait beau')
Ce code renvoie : "Il Fait Beau".
Nouveauté 19
INITCAP
La fonction INITCAP renvoie une chaîne dans laquelle la première lettre de chaque mot est mise en majuscule et toutes les autres lettres sont mises en minuscules.

Format d'utilisation :
INITCAP(<Chaîne>)
Exemple :
INITCAP('iL Fait beau')
Ce code renvoie : "Il Fait Beau".
INITCAP
La fonction INITCAP renvoie une chaîne dans laquelle la première lettre de chaque mot est mise en majuscule et toutes les autres lettres sont mises en minuscules.

Format d'utilisation :
INITCAP(<Chaîne>)
Exemple :
INITCAP('iL Fait beau')
Ce code renvoie : "Il Fait Beau".

LOWER

La fonction LOWER convertit une expression en minuscules.
La fonction LOWER ne peut pas être utilisée sur une source de données de type Access.
Format d'utilisation :
LOWER(Expression initiale)
Exemple : Le code SQL suivant permet de convertir en minuscules le prénom des clients :
SELECT LOWER(Prénom)
FROM CLIENT

UPPER

La fonction UPPER convertit une expression en majuscules.
La fonction UPPER ne peut pas être utilisée sur une source de données de type Access.
Format d'utilisation :
UPPER(Expression initiale)
Exemple : Le code SQL suivant permet de convertir en majuscules les villes des clients :
SELECT UPPER(Ville)
FROM CLIENT
Versions 16 et supérieures
LCASE
La fonction LCASE retourne une chaîne avec tous les caractères en minuscules en fonction du jeu de caractères courant.
Format d'utilisation :
LCASE(Expression initiale)
Exemple : Le code SQL suivant permet de convertir en minuscules les villes des clients :
SELECT LCASE(Ville)
FROM CLIENT
Nouveauté 16
LCASE
La fonction LCASE retourne une chaîne avec tous les caractères en minuscules en fonction du jeu de caractères courant.
Format d'utilisation :
LCASE(Expression initiale)
Exemple : Le code SQL suivant permet de convertir en minuscules les villes des clients :
SELECT LCASE(Ville)
FROM CLIENT
LCASE
La fonction LCASE retourne une chaîne avec tous les caractères en minuscules en fonction du jeu de caractères courant.
Format d'utilisation :
LCASE(Expression initiale)
Exemple : Le code SQL suivant permet de convertir en minuscules les villes des clients :
SELECT LCASE(Ville)
FROM CLIENT
Versions 16 et supérieures
UCASE
La fonction UCASE retourne une chaîne avec tous les caractères en majuscules en fonction du jeu de caractères courant.
Format d'utilisation :
UCASE(Expression initiale)
Exemple : Le code SQL suivant permet de convertir en majuscules les villes des clients :
SELECT UCASE(Ville)
FROM CLIENT
Nouveauté 16
UCASE
La fonction UCASE retourne une chaîne avec tous les caractères en majuscules en fonction du jeu de caractères courant.
Format d'utilisation :
UCASE(Expression initiale)
Exemple : Le code SQL suivant permet de convertir en majuscules les villes des clients :
SELECT UCASE(Ville)
FROM CLIENT
UCASE
La fonction UCASE retourne une chaîne avec tous les caractères en majuscules en fonction du jeu de caractères courant.
Format d'utilisation :
UCASE(Expression initiale)
Exemple : Le code SQL suivant permet de convertir en majuscules les villes des clients :
SELECT UCASE(Ville)
FROM CLIENT

LEN / LENGTH

Les fonctions LEN et LENGTH renvoient la taille (le nombre de caractères) d'une expression.
Cette taille comprend tous les caractères y compris les caractères espace et 0 binaire.

LEN

La fonction LEN peut être utilisée sur tous les types de source de données, sauf les sources de données de type Oracle. Pour les sources de données de type Oracle, utilisez la fonction LENGTH.
Format d'utilisation :
LEN(Expression initiale)
Exemple : Le code SQL suivant permet d'obtenir la taille des noms des clients :
SELECT LEN(Nom)
FROM CLIENT

LENGTH

La fonction LENGTH peut être utilisée uniquement sur une source de données de type Oracle.
Format d'utilisation :
LENGTH(Expression initiale)
Exemple : Le code SQL suivant permet d'obtenir la taille des noms des clients :
SELECT LENGTH(Nom)
FROM CLIENT

INSTR

La fonction INSTR renvoie la position d'une chaîne de caractères dans une expression.
La fonction INSTR peut être utilisée uniquement sur une source de données de type Oracle ou supportant la norme SQL-92.
Format d'utilisation :
INSTR(Expression initiale, Chaîne à rechercher, Position de départ, Occurrence)
Exemple : Le code SQL suivant permet d'obtenir la position de la première occurrence de la lettre "T" dans chaque nom de ville des clients :
SELECT INSTR(Ville, 'T', 1, 1)
FROM CLIENT
Versions 16 et supérieures
FIELD
La fonction FIELD renvoie l'index de la chaîne recherchée dans la liste.
Si la chaîne n'est pas trouvée, la fonction renvoie 0.
Format d'utilisation :
FIELD(Chaîne à rechercher, Chaîne1, Chaîne2, ...)
Nouveauté 16
FIELD
La fonction FIELD renvoie l'index de la chaîne recherchée dans la liste.
Si la chaîne n'est pas trouvée, la fonction renvoie 0.
Format d'utilisation :
FIELD(Chaîne à rechercher, Chaîne1, Chaîne2, ...)
FIELD
La fonction FIELD renvoie l'index de la chaîne recherchée dans la liste.
Si la chaîne n'est pas trouvée, la fonction renvoie 0.
Format d'utilisation :
FIELD(Chaîne à rechercher, Chaîne1, Chaîne2, ...)
Versions 19 et supérieures
FIND_IN_SET
La fonction FIND_IN_SET retourne la position d'une chaîne dans une liste de valeurs.
Si la chaîne n'est pas trouvée, la fonction renvoie 0.
Format d'utilisation :
FIND_IN_SET(<Chaîne à rechercher>, <Liste de valeurs>)
Le paramètre <Liste de valeurs> correspond à une chaîne de caractères contenant les valeurs séparées par une virgule.
Exemple : Le code suivant renvoie 3 :
FIND_IN_SET('Rouge','Bleu,Jaune,Rouge,Vert')
Nouveauté 19
FIND_IN_SET
La fonction FIND_IN_SET retourne la position d'une chaîne dans une liste de valeurs.
Si la chaîne n'est pas trouvée, la fonction renvoie 0.
Format d'utilisation :
FIND_IN_SET(<Chaîne à rechercher>, <Liste de valeurs>)
Le paramètre <Liste de valeurs> correspond à une chaîne de caractères contenant les valeurs séparées par une virgule.
Exemple : Le code suivant renvoie 3 :
FIND_IN_SET('Rouge','Bleu,Jaune,Rouge,Vert')
FIND_IN_SET
La fonction FIND_IN_SET retourne la position d'une chaîne dans une liste de valeurs.
Si la chaîne n'est pas trouvée, la fonction renvoie 0.
Format d'utilisation :
FIND_IN_SET(<Chaîne à rechercher>, <Liste de valeurs>)
Le paramètre <Liste de valeurs> correspond à une chaîne de caractères contenant les valeurs séparées par une virgule.
Exemple : Le code suivant renvoie 3 :
FIND_IN_SET('Rouge','Bleu,Jaune,Rouge,Vert')

PATINDEX

La fonction PATINDEX renvoie la position de la première occurrence d'une chaîne de caractères correspondant à une valeur spécifiée (avec des caractères génériques).
Les caractères génériques autorisés sont les suivants :
  • '%' : représente zéro, un ou plusieurs caractères.
  • '_' : représente un caractère unique.
Ces caractères génériques peuvent être combinés.
La fonction PATINDEX peut être utilisée sur une source de données de type HFSQL Classic ou de type SQL Server.
Format d'utilisation :
PATINDEX(Valeur à rechercher, Expression)
Exemple : Le tableau ci-dessous indique la position de la première occurrence trouvée en fonction de différentes valeurs recherchées :
Valeur recherchée
Nom de ville
'%E%'
'%E_'
'%AR%'
MONTPELLIER
6
10
0
PARIS
0
0
2
TARBES
5
5
2
TOULOUSE
8
0
0
VIENNE
3
0
0

POSITION

La fonction POSITION renvoie la position d'une chaîne de caractères dans une expression.
Format d'utilisation :
POSITION(Chaîne à rechercher IN Expression initiale)
POSITION(Chaîne à rechercher IN Expression initiale, Position de départ)
Exemple :
TestREQ est une Source de Données
sCodeSQL est une chaîne = [
SELECT POSITION( 'No' IN Nom ) As PosNom
FROM cooperateur
LIMIT 0 , 30
]

SI PAS HExécuteRequêteSQL(TestREQ, MaConnexion, hRequêteSansCorrection, sCodeSQL) ALORS
Erreur(HErreurInfo())
FIN
POUR TOUT TestREQ
Trace(TestREQ.PosNom )
FIN

COUNT

La fonction COUNT renvoie :
  • le nombre d'enregistrements sélectionnés dans un fichier.
  • le nombre de valeurs non nulles d'une rubrique.
  • le nombre de valeurs différentes et non nulles d'une rubrique.
Format d'utilisation :
COUNT(*)
COUNT(Rubrique)
COUNT(DISTINCT Rubrique)
Exemples :
  • Le code SQL suivant permet d'obtenir le nombre de produits présents dans le fichier Produit :
    SELECT COUNT(*)
    FROM PRODUIT
  • Le code SQL suivant permet d'obtenir le nombre de produits sur lesquelles un taux de TVA de 5,5 % est appliqué :
    SELECT COUNT(TauxTVA)
    FROM PRODUIT
    WHERE TauxTVA = '5.5'
  • Le code SQL suivant permet d'obtenir le nombre des taux de TVA différents et non nuls :
    SELECT COUNT(DISTINCT PRODUIT.TauxTVA)
    FROM PRODUIT

AVG

La fonction AVG calcule :
  • soit la moyenne d'un ensemble de valeurs non nulles.
  • soit la moyenne d'un ensemble de valeurs différentes et non nulles.
Format d'utilisation :
AVG(Rubrique)
AVG(DISTINCT Rubrique)
Exemples :
  • Le code SQL suivant permet d'obtenir le salaire moyen des employés :
    SELECT AVG(Salaire)
    FROM EMPLOYE
  • Le code SQL suivant permet d'obtenir la moyenne des salaires différents des employés :
    SELECT AVG(DISTINCT Salaire)
    FROM EMPLOYE

MAX

La fonction MAX renvoie la plus grande valeur des valeurs présentes dans une rubrique pour tous les enregistrements sélectionnés dans le fichier.
La fonction MAX utilisée dans une requête sans regroupement doit renvoyer un et un seul enregistrement. Si la requête contient des regroupements, il y aura un enregistrement par regroupement.
Si la source de données contient des enregistrements, l'enregistrement retourné par la requête contiendra la valeur maximale.
Si la source de données ne contient pas d'enregistrements, la valeur du MAX dans l'enregistrement retourné est NULL.
Format d'utilisation :
MAX(Rubrique)

MAX(DISTINCT Rubrique)
Exemple : Le code SQL suivant permet d'obtenir le salaire maximal des employés :
SELECT MAX(Salaire)
FROM EMPLOYE
-- Equivalent à :
-- SELECT MAX(DISTINCT Salaire)
-- FROM EMPLOYE

MIN

La fonction MIN renvoie la plus petite valeur des valeurs non nulles présentes dans une rubrique pour tous les enregistrements sélectionnés dans le fichier.
Format d'utilisation :
MIN(Rubrique)

MIN(DISTINCT Rubrique)
Exemple : Le code SQL suivant permet d'obtenir le salaire minimal des employés :
SELECT MIN(Salaire)
FROM EMPLOYE
-- Equivalent à :
-- SELECT MIN(DISTINCT Salaire)
-- FROM EMPLOYE

SUM

La fonction SUM renvoie :
  • soit la somme totale des valeurs non nulles présentes dans une rubrique pour tous les enregistrements sélectionnés dans le fichier.
  • soit la somme totale des valeurs différentes et non nulles présentes dans une rubrique pour tous les enregistrements sélectionnés dans le fichier.
Format d'utilisation :
SUM(Rubrique)

SUM(DISTINCT Rubrique)
Exemples :
  • Le code SQL suivant permet d'obtenir la somme totale des salaires :
    SELECT SUM(Salaire)
    FROM EMPLOYE
  • Le code SQL suivant permet d'obtenir la somme totale des salaires différents :
    SELECT SUM(DISTINCT Salaire)
    FROM EMPLOYE
Remarque : La rubrique manipulée par la fonction SUM ne doit pas correspondre au résultat d'une opération. Ainsi, la syntaxe suivante génère une erreur :
SELECT (A*B) AS C, SUM C
FROM MONFICHIER
Cette syntaxe doit être remplacée par la syntaxe suivante :
SELECT (A*B) AS C, SUM(A*B)
FROM MONFICHIER
Versions 21 et supérieures

EVERY

La fonction EVERY est une fonction d'agrégation (comme l'ordre SUM par exemple), c'est-à-dire que la fonction agit sur un groupe de données et renvoie une valeur.
La fonction EVERY renvoie :
  • Vrai si tous les arguments qu'elle a reçu sont vérifiés et vrai.
  • Faux si au moins un des arguments n'est pas vérifié.
Format d'utilisation :
EVERY(Expression 1, Expression 2, ..., Expression N)
Exemple : Le code SQL suivant permet d'obtenir la liste des sociétés ayant des employés dont le salaire est supérieur à 10000 :
SELECT societe.nom, EVERY(employe.salaire > 10000) AS riche
FROM societe NATURAL JOIN employe GROUP BY societe.nom
Nouveauté 21

EVERY

La fonction EVERY est une fonction d'agrégation (comme l'ordre SUM par exemple), c'est-à-dire que la fonction agit sur un groupe de données et renvoie une valeur.
La fonction EVERY renvoie :
  • Vrai si tous les arguments qu'elle a reçu sont vérifiés et vrai.
  • Faux si au moins un des arguments n'est pas vérifié.
Format d'utilisation :
EVERY(Expression 1, Expression 2, ..., Expression N)
Exemple : Le code SQL suivant permet d'obtenir la liste des sociétés ayant des employés dont le salaire est supérieur à 10000 :
SELECT societe.nom, EVERY(employe.salaire > 10000) AS riche
FROM societe NATURAL JOIN employe GROUP BY societe.nom

EVERY

La fonction EVERY est une fonction d'agrégation (comme l'ordre SUM par exemple), c'est-à-dire que la fonction agit sur un groupe de données et renvoie une valeur.
La fonction EVERY renvoie :
  • Vrai si tous les arguments qu'elle a reçu sont vérifiés et vrai.
  • Faux si au moins un des arguments n'est pas vérifié.
Format d'utilisation :
EVERY(Expression 1, Expression 2, ..., Expression N)
Exemple : Le code SQL suivant permet d'obtenir la liste des sociétés ayant des employés dont le salaire est supérieur à 10000 :
SELECT societe.nom, EVERY(employe.salaire > 10000) AS riche
FROM societe NATURAL JOIN employe GROUP BY societe.nom

TOP

La fonction TOP renvoie uniquement les n premiers enregistrements du résultat d'une requête.
La fonction TOP ne peut pas être utilisée sur une source de données de type Oracle ou PostgreSQL.
Format d'utilisation :
TOP Nombre du dernier enregistrement sélectionné
Exemple : Le code SQL suivant permet de lister les 10 meilleurs clients :
SELECT TOP 10 SUM(COMMANDE.TotalTTC) AS TotalTTC,
CLIENT.NomClient
FROM CLIENT, COMMANDE
WHERE CLIENT.NumClient = COMMANDE.NumClient
GROUP BY NomClient
ORDER BY TotalTTC DESC
Remarque :
  • Il est conseillé d'utiliser la fonction TOP sur une requête triée. Dans le cas contraire, les enregistrements retournés par la fonction TOP seront sélectionnés selon leur numéro d'enregistrement.
  • Versions 20 et supérieures
    Il est possible de passer un paramètre à la fonction TOP. Le paramètre peut être :
    SELECT TOP {pNombreClientsMax}
    Client.IDClient AS IDClient,
    Client.Nom AS Nom,
    Client.Prénom AS Prénom,
    Client.Email AS Email,
    Client.PointsFidélités AS PointsFidélités
    FROM
    Client
    Nouveauté 20
    Il est possible de passer un paramètre à la fonction TOP. Le paramètre peut être :
    SELECT TOP {pNombreClientsMax}
    Client.IDClient AS IDClient,
    Client.Nom AS Nom,
    Client.Prénom AS Prénom,
    Client.Email AS Email,
    Client.PointsFidélités AS PointsFidélités
    FROM
    Client
    Il est possible de passer un paramètre à la fonction TOP. Le paramètre peut être :
    SELECT TOP {pNombreClientsMax}
    Client.IDClient AS IDClient,
    Client.Nom AS Nom,
    Client.Prénom AS Prénom,
    Client.Email AS Email,
    Client.PointsFidélités AS PointsFidélités
    FROM
    Client

BOTTOM

La fonction BOTTOM renvoie uniquement les n derniers enregistrements du résultat d'une requête.
La fonction BOTTOM peut être utilisée uniquement sur une source de données de type HFSQL.
Format d'utilisation :
BOTTOM Nombre du dernier enregistrement sélectionné
Exemple : Le code SQL suivant permet de lister les 10 plus mauvais clients :
SELECT BOTTOM 10 SUM(COMMANDE.TotalTTC) AS TotalTTC,
CLIENT.NomClient
FROM CLIENT, COMMANDE
WHERE CLIENT.NumClient = COMMANDE.NumClient
GROUP BY NomClient
ORDER BY TotalTTC DESC
Remarque :

LIMIT

La fonction LIMIT renvoie uniquement les n premiers enregistrements du résultat d'une requête.
La fonction LIMIT ne peut pas être utilisée sur une source de données de type Oracle ou PostgreSQL.
Format d'utilisation :
LIMIT Nombre du dernier enregistrement sélectionné
Exemple : Le code SQL suivant permet de lister les 10 meilleurs clients :
SELECT LIMIT 10 SUM(COMMANDE.TotalTTC) AS TotalTTC,
CLIENT.NomClient
FROM CLIENT, COMMANDE
WHERE CLIENT.NumClient = COMMANDE.NumClient
GROUP BY NomClient
ORDER BY TotalTTC DESC
Remarque :

ASCII

La fonction ASCII renvoie le code ASCII :
  • soit d'un caractère.
  • soit du première caractère d'une chaîne.
Si le caractère ou la chaîne de caractères spécifiée correspond à une chaîne vide (""), la fonction ASCII renvoie 0.
Format d'utilisation :
-- Code ASCII d'un caractère
ASCII(Caractère)
-- Code ASCII du premier caractère d'une chaîne
ASCII(Chaîne de caractères)

UNICODE

La fonction UNICODE renvoie la valeur entière définie par la norme Unicode :
  • soit d'un caractère.
  • soit du première caractère d'une chaîne.
Format d'utilisation :
-- Code Unicode d'un caractère
UNICODE(Caractère)
-- Code Unicode du premier caractère d'une chaîne
UNICODE(Chaîne de caractères)
Versions 21 et supérieures

CURRENT_USER

La fonction CURRENT_USER renvoie le nom de l'utilisateur de la connexion en cours.
Format d'utilisation :
CURRENT_USER()
Exemple : Le code suivant met à jour l'auteur de la modification de la table CLIENT :
UPDATE CLIENT SET USER=CURRENT_USER() WHERE IDCLIENT=1
Nouveauté 21

CURRENT_USER

La fonction CURRENT_USER renvoie le nom de l'utilisateur de la connexion en cours.
Format d'utilisation :
CURRENT_USER()
Exemple : Le code suivant met à jour l'auteur de la modification de la table CLIENT :
UPDATE CLIENT SET USER=CURRENT_USER() WHERE IDCLIENT=1

CURRENT_USER

La fonction CURRENT_USER renvoie le nom de l'utilisateur de la connexion en cours.
Format d'utilisation :
CURRENT_USER()
Exemple : Le code suivant met à jour l'auteur de la modification de la table CLIENT :
UPDATE CLIENT SET USER=CURRENT_USER() WHERE IDCLIENT=1
Versions 22 et supérieures

SYSTEM_USER

La fonction SYSTEM_USER renvoie le nom de l'utilisateur de la connexion en cours.
Format d'utilisation :
SYSTEM_USER()
Exemple : Le code suivant met à jour l'auteur de la modification de la table CLIENT :
UPDATE CLIENT SET USER=SYSTEM_USER() WHERE IDCLIENT=1
Nouveauté 22

SYSTEM_USER

La fonction SYSTEM_USER renvoie le nom de l'utilisateur de la connexion en cours.
Format d'utilisation :
SYSTEM_USER()
Exemple : Le code suivant met à jour l'auteur de la modification de la table CLIENT :
UPDATE CLIENT SET USER=SYSTEM_USER() WHERE IDCLIENT=1

SYSTEM_USER

La fonction SYSTEM_USER renvoie le nom de l'utilisateur de la connexion en cours.
Format d'utilisation :
SYSTEM_USER()
Exemple : Le code suivant met à jour l'auteur de la modification de la table CLIENT :
UPDATE CLIENT SET USER=SYSTEM_USER() WHERE IDCLIENT=1
Versions 22 et supérieures

USER_NAME

La fonction USER_NAME renvoie le nom de l'utilisateur de la connexion en cours.
Format d'utilisation :
USER_NAME()
Exemple : Le code suivant met à jour l'auteur de la modification de la table CLIENT :
UPDATE CLIENT SET USER=USER_NAME() WHERE IDCLIENT=1
Nouveauté 22

USER_NAME

La fonction USER_NAME renvoie le nom de l'utilisateur de la connexion en cours.
Format d'utilisation :
USER_NAME()
Exemple : Le code suivant met à jour l'auteur de la modification de la table CLIENT :
UPDATE CLIENT SET USER=USER_NAME() WHERE IDCLIENT=1

USER_NAME

La fonction USER_NAME renvoie le nom de l'utilisateur de la connexion en cours.
Format d'utilisation :
USER_NAME()
Exemple : Le code suivant met à jour l'auteur de la modification de la table CLIENT :
UPDATE CLIENT SET USER=USER_NAME() WHERE IDCLIENT=1

SOUNDEX, SOUND LIKE

Les fonctions SOUNDEX et SOUND LIKE renvoient la représentation phonétique d'une chaîne de caractères (basé sur un algorithme anglo-saxon).
Format d'utilisation :
SOUNDEX(Chaîne)

SOUND LIKE(Chaîne)
Exemple : Le code SQL suivant permet de lister les clients dont le nom correspond phonétiquement à "Henry" :
SELECT CLIENT.NomClient
FROM CLIENT
WHERE SOUNDEX(CLIENT.NomClient) = SOUNDEX('Henry')
SELECT CLIENT.NomClient
FROM CLIENT
WHERE CLIENT.NomClient SOUND LIKE 'Henry'
Remarque : la fonction SOUNDEX utilisée sur plusieurs bases différentes (HFSQL, Oracle, MySQL, ...) peut renvoyer des résultats différents selon la base utilisée.
Accès Natifs SOUND LIKE n'est pas géré par Oracle, MySQL, Progress ou Informix.
SOUNDEX n'est pas géré par Informix.

SOUNDEX2, SOUND2 LIKE

Les fonctions SOUNDEX2 et SOUND2 LIKE renvoient la représentation phonétique d'une chaîne de caractères (basé sur un algorithme proche du français).
Format d'utilisation :
SOUNDEX2(Chaîne)

SOUND2 LIKE(Chaîne)
Exemple : Le code SQL suivant permet de lister les clients dont la ville correspond phonétiquement à "Montpellier" :
SELECT CLIENT.NomVille
FROM CLIENT
WHERE SOUNDEX2(CLIENT.NomVille) = SOUNDEX2('Montpellier')
SELECT CLIENT.NomVille
FROM CLIENT
WHERE CLIENT.NomVille SOUND2 LIKE 'Montpellier'
Accès Natifs SOUNDEX2 et SOUNDEX2 LIKE ne sont pas gérés par Oracle, SQL Server, MySQL, Progress, Informix ou DB2.

ADD_MONTHS

La fonction ADD_MONTHS permet d'ajouter plusieurs mois à une date spécifiée.
Format d'utilisation :
ADD_MONTHS(Date,Nombre de mois)
Exemple : Le code SQL suivant permet de sélectionner les commandes du mois d'avril 2003.
SELECT DATECDE,
ADD_MONTHS('20070203',2) AS AM
FROM COMMANDE
Accès Natifs ADD_MONTHS n'est pas géré par SQL Server, MySQL, Informix, DB2 ou Sybase.

LAST_DAY

La fonction LAST_DAY permet d'obtenir la date du dernier jour du mois spécifié.
Format d'utilisation :
LAST_DAY(Date)
Exemple : Le code SQL suivant permet de sélectionner les commandes du mois de février 2008 :
SELECT LAST_DAY('20080203') AS LD,
DATECDE
FROM COMMANDE
WHERE COMMANDE.CLCLEUNIK=2 ORDER BY DATECDE
Accès Natifs LAST_DAY n'est pas géré par Informix, DB2 ou Sybase.
Versions 21 et supérieures

DAY

La fonction DAY renvoie le jour du mois, c'est-à-dire un nombre compris entre 1 et 31.
Format d'utilisation :
DAY(Date)
Nouveauté 21

DAY

La fonction DAY renvoie le jour du mois, c'est-à-dire un nombre compris entre 1 et 31.
Format d'utilisation :
DAY(Date)

DAY

La fonction DAY renvoie le jour du mois, c'est-à-dire un nombre compris entre 1 et 31.
Format d'utilisation :
DAY(Date)
Versions 21 et supérieures

DAYOFMONTH

La fonction DAYOFMONTH renvoie le jour dans le mois (compris entre 1 et 31).
Format d'utilisation :
DAYOFMONTH(Date)
Nouveauté 21

DAYOFMONTH

La fonction DAYOFMONTH renvoie le jour dans le mois (compris entre 1 et 31).
Format d'utilisation :
DAYOFMONTH(Date)

DAYOFMONTH

La fonction DAYOFMONTH renvoie le jour dans le mois (compris entre 1 et 31).
Format d'utilisation :
DAYOFMONTH(Date)
Versions 21 et supérieures

DAYOFWEEK

La fonction DAYOFWEEK renvoie le jour dans la semaine (1 pour Dimanche, 2 pour Lundi, etc.).
Format d'utilisation :
DAYOFWEEK(Date)
Nouveauté 21

DAYOFWEEK

La fonction DAYOFWEEK renvoie le jour dans la semaine (1 pour Dimanche, 2 pour Lundi, etc.).
Format d'utilisation :
DAYOFWEEK(Date)

DAYOFWEEK

La fonction DAYOFWEEK renvoie le jour dans la semaine (1 pour Dimanche, 2 pour Lundi, etc.).
Format d'utilisation :
DAYOFWEEK(Date)
Versions 21 et supérieures

DAYOFYEAR

La fonction DAYOFYEAR renvoie le jour dans l'année (compris entre 1 et 366).
Format d'utilisation :
DAYOFYEAR(Date)
Nouveauté 21

DAYOFYEAR

La fonction DAYOFYEAR renvoie le jour dans l'année (compris entre 1 et 366).
Format d'utilisation :
DAYOFYEAR(Date)

DAYOFYEAR

La fonction DAYOFYEAR renvoie le jour dans l'année (compris entre 1 et 366).
Format d'utilisation :
DAYOFYEAR(Date)
Versions 22 et supérieures

CURRENT_TIMESTAMP

La fonction CURRENT_TIMESTAMP renvoie l'heure locale du serveur (au format date-heure).
Format d'utilisation :
CURRENT_TIMESTAMP()
Nouveauté 22

CURRENT_TIMESTAMP

La fonction CURRENT_TIMESTAMP renvoie l'heure locale du serveur (au format date-heure).
Format d'utilisation :
CURRENT_TIMESTAMP()

CURRENT_TIMESTAMP

La fonction CURRENT_TIMESTAMP renvoie l'heure locale du serveur (au format date-heure).
Format d'utilisation :
CURRENT_TIMESTAMP()
Versions 22 et supérieures

GETDATE

La fonction GETDATE renvoie l'heure locale du serveur (au format date-heure).
Format d'utilisation :
GETDATE()
Nouveauté 22

GETDATE

La fonction GETDATE renvoie l'heure locale du serveur (au format date-heure).
Format d'utilisation :
GETDATE()

GETDATE

La fonction GETDATE renvoie l'heure locale du serveur (au format date-heure).
Format d'utilisation :
GETDATE()
Versions 22 et supérieures

GETUTCDATE

La fonction GETUTCDATE renvoie l'heure UTC du serveur (au format date-heure).
Format d'utilisation :
GETUTCDATE()
Nouveauté 22

GETUTCDATE

La fonction GETUTCDATE renvoie l'heure UTC du serveur (au format date-heure).
Format d'utilisation :
GETUTCDATE()

GETUTCDATE

La fonction GETUTCDATE renvoie l'heure UTC du serveur (au format date-heure).
Format d'utilisation :
GETUTCDATE()

MONTHS_BETWEEN

La fonction MONTHS_BETWEEN permet d'obtenir le nombre de mois entre deux dates spécifiées.
Format d'utilisation :
MONTHS_BETWEEN(Date1, Date2)
Exemple : Le code SQL suivant permet de sélectionner les commandes entre deux dates :
SELECT DATECDE,
MONTHS_BETWEEN('20070203','20070102') AS MB
FROM COMMANDE
Exemple : Le code SQL suivant permet de sélectionner les clients selon leur âge  :
SELECT CLIENT.IDCLIENT,
CLIENT.NOM,CLIENT.PRENOM,
-- Nombre de mois divisé par 12 en réel : nombre d'années
CAST(MONTHS_BETWEEN(SYSDATE,CLIENT.DATE_NAISSANCE)/12 AS FLOAT) AS Age
FROM
CLIENT
WHERE
-- uniquement les clients majeurs
Age >= 18
Accès Natifs MONTHS_BETWEEN n'est pas géré par MySQL, Informix, DB2 ou Sybase.

NEW_TIME

La fonction NEW_TIME permet d'obtenir une date après conversion de fuseau horaire.
Format d'utilisation :
NEW_TIME(Date, Fuseau Horaire 1, Fuseau Horaire 2)
Exemple :
SELECT NEW_TIME ('200311010145', 'AST', 'MST') AS NTI
FROM CLIENT
Remarque : Si les fuseaux horaires correspondent à chaîne vide (""), le résultat sera une valeur DateHeure à 0.
Accès Natifs NEW_TIME n'est pas géré par SQL Server, MySQL, Progress, Informix, DB2 ou Sybase.

NEXT_DAY

La fonction NEXT_DAY permet d'obtenir le premier jour de la semaine suivant la date spécifiée ou le jour spécifié.
Format d'utilisation :
NEXT_DAY(Date, Jour)
Exemple :
SELECT NEXT_DAY('20071007','dimanche') AS NXD
FROM CLIENT
Accès Natifs NEXT_DAY n'est pas géré par SQL Server, MySQL, Progress, Informix, DB2 ou Sybase.

ROUND

La fonction ROUND permet d'arrondir la date au format spécifié.
Format d'utilisation :
ROUND(Date, Format)
Exemple :
SELECT DATECDE,
ROUND(DATECDE,'YYYY') AS TR
FROM COMMANDE
Accès Natifs ROUND n'est pas géré par Progress, DB2 et Sybase.

SYSDATE

La fonction SYSDATE permet d'obtenir la date et l'heure courante.
Format d'utilisation :
SYSDATE
Exemple :
SELECT SYSDATE AS SY FROM CLIENT WHERE CLCLEUNIK=1
Accès Natifs SYSDATE n'est pas géré par Informix et Sybase.

TRUNC

La fonction TRUNC permet de tronquer la date au format spécifié.
Format d'utilisation :
TRUNC(Date, Format)
Le paramètre "Format" peut correspondre aux valeurs suivantes :
  • Siècle : "CC" ou "SCC"
  • Année : "Y", "YEAR", "YY", "YYY", "YYYY", "SYEAR", "SYYYY"
  • Année ISO : "I", "IY", "IY", "IYYY" : ISOYear
  • Trimestre : "Q"
  • Mois : "MM", "MON", "MONTH"
  • Premier jour du mois qui est le même jour de la semaine : "W"
  • Premier jour de la semaine : "D", "DAY", "DY"
  • Jour : "DD", "DDD", "J"
  • Heure : "HH", "HH12", "HH24"
  • Minutes : "MI"
Exemple :
SELECT DATECDE,
TRUNC(DATECDE) AS TR
FROM COMMANDE
WHERE COCLEUNIK
Accès Natifs TRUNC n'est pas géré par SQL Server, MySQL, Progress, DB2 et Sybase.

COALESCE

La fonction COALESCE permet de trouver la première expression non nulle parmi ses arguments.
Format d'utilisation :
COALESCE(Param1, Param2, ...)
Exemple :
SELECT COALESCE(hourly_wage, salary, commission) AS Total_Salary FROM wages
Accès Natifs COALESCE n'est pas géré par Progress ou Informix.
Versions 16 et supérieures
GREATEST
La fonction GREATEST renvoie la valeur la plus grande des éléments passés en paramètre.
Format d'utilisation :
GREATEST(Param1, Param2, ...)
Nouveauté 16
GREATEST
La fonction GREATEST renvoie la valeur la plus grande des éléments passés en paramètre.
Format d'utilisation :
GREATEST(Param1, Param2, ...)
GREATEST
La fonction GREATEST renvoie la valeur la plus grande des éléments passés en paramètre.
Format d'utilisation :
GREATEST(Param1, Param2, ...)
Versions 16 et supérieures
LEAST
La fonction LEAST renvoie la valeur la plus petite des éléments passés en paramètre.
Format d'utilisation :
LEAST(Param1, Param2, ...)
Nouveauté 16
LEAST
La fonction LEAST renvoie la valeur la plus petite des éléments passés en paramètre.
Format d'utilisation :
LEAST(Param1, Param2, ...)
LEAST
La fonction LEAST renvoie la valeur la plus petite des éléments passés en paramètre.
Format d'utilisation :
LEAST(Param1, Param2, ...)

NVL, IF_NULL, IS_NULL

La fonction NVL permet de remplacer les valeurs nulles d'une colonne par une valeur de substitution. Les fonctions IS_NULL et IF_NULL sont identiques.
IS_NULL est utilisé en SQL Server et IF_NULL avec les bases MySQL ou Progress.
Format d'utilisation :
NVL(Nom Colonne, Valeur de substitution)
Exemple :
SELECT hourly_wage AS R1,NVL(hourly_wage,0) AS Total FROM wages

DECODE

La fonction DECODE permet d'obtenir le fonctionnement d'une instruction SI .. ALORS .. SINON.
Format d'utilisation :
DECODE(Nom_Colonne, Valeur comparée 1, Valeur retournée 1, [Valeur comparée 2, ...
Valeur retournée 2][, Valeur par défaut])
Exemple : Selon le client sélectionné, renvoie le nom correspondant à l'identifiant indiqué :
SELECT CLIENT_NOM,
DECODE(CLIENT_ID, 10000, 'Client 1',10001,'Client 2',10002,'Client 3','Autre')
FROM CLIENT
Accès Natifs DECODE n'est pas géré par SQL Server, MySQL, Progress, Informix, DB2, Sybase et ACCESS.

CASE

La fonction CASE permet d'obtenir le fonctionnement d'une instruction SI .. ALORS .. SINON.
Format d'utilisation :
CASE Nom_Colonne WHEN Valeur comparée 1 THEN Valeur retournée 1 [WHEN Valeur comparée 2 THEN ...
Valeur retournée 2][ELSE Valeur retournée par défaut] END
CASE WHEN Condition 1 THEN Valeur retournée 1 [WHEN Condition 2 THEN Valeur retournée 2] ...
[ELSE Valeur retournée par défaut] END
Exemple : Si la rubrique correspond à "3" renvoie "trois", à "4" renvoie "quatre" et renvoie "autre" dans les autres cas :
SELECT rubInt, CASE rubInt WHEN 3 THEN 'trois' WHEN 4 THEN 'quatre' ELSE 'autre' END
SELECT rubInt, CASE WHEN rubInt=3 THEN 'trois' WHEN rubInt=4 THEN 'quatre' ELSE 'autre' END

MATCH AGAINST

La fonction MATCH AGAINST permet d'obtenir l'indice de pertinence de l'enregistrement lors d'une recherche full-text.
Format d'utilisation :
MATCH(Liste des rubriques) AGAINST [ALL] Valeur
Où :
  • Liste des rubriques correspond à la liste des rubriques de l'index séparées par des virgules (l'ordre des rubriques n'est pas important)
  • Valeur correspond à la valeur recherchée dans les différentes rubriques. Ce paramètre peut correspondre à une valeur littérale ou à un nom de paramètre. La valeur de recherche peut contenir les éléments suivants :
Elément
Signification
Un mot tout seulLe mot indiqué sera recherché. La pertinence sera augmentée si le texte contient ce mot.
Exemple : "WINDEV" recherche le mot "WINDEV".
Deux mots séparés par un espaceRecherche l'un ou l'autre des mots.
Exemple : "WINDEV WEBDEV" recherche les textes contenant soit "WINDEV" soit "WEBDEV".
Un mot précédé du signe "+"Le mot indiqué est obligatoire.
Exemple : "+WINDEV" recherche les textes contenant obligatoirement "WINDEV".
Un mot précédé du signe "-"Le mot indiqué ne doit pas être présent dans le texte.
Exemple : "-Index" recherche les textes ne contenant pas "Index".
Un mot précédé du signe "~"Si le texte contient le mot indiqué, la pertinence sera diminuée.
Un ou plusieurs mots entourés de guillemetsLes mots indiqués sont recherchés groupés et dans l'ordre.
Attention : si l'option "Ignorer les mots inférieurs à " est différente de 0, les mots entre les guillemets inférieurs à la taille précisée ne seront pas recherchés.
Un mot suivi du signe "*"La recherche est une recherche du type "Commence par" le mot indiqué.
[ALL] permet de forcer le remplacement des espaces par des "+" dans la valeur recherchée.
Exemple : Dans cet exemple, SAI_Rechercher est un champ de saisie et IdUserConnecté est une variable.
MaRequête est une chaîne = [
SELECT * FROM Contact
WHERE MATCH(Contact.Nom, Contact.Prenom, Contact.CommentaireHTML,
Contact.CommentaireTexteBrut, Contact.Commentaires, Contact.Telephone, Contact.Bureau,
Contact.Portable, Contact.Mail, Contact.MSN, Contact.Site_internet, Contact.Pays,
Contact.NumFax, Contact.Ville)
AGAINST ('
]
MaRequête = MaRequête + SAI_Rechercher + [
')
AND Contact.IDUtilisateur =
]
MaRequête = MaRequête + IdUserConnecté + [
ORDER BY Nom DESC
]

HExécuteRequêteSQL(REQ_RECH, hRequêteDéfaut, MaRequête)
POUR TOUT REQ_RECH
TableAjouteLigne(TABLE_Contact_par_catégorie, ...
REQ_RECH.idcontact,REQ_RECH.IDCategorie, IdUserConnecté, ...
REQ_RECH.Nom, REQ_RECH.Prenom)
FIN
CAS ERREUR:
Erreur(HErreurInfo())
Pour plus de détails sur la recherche full-text, consultez Recherche et index full-text.
Versions 16 et supérieures
MD5
La fonction MD5 calcule la somme de vérification MD5 de la chaîne passée en paramètre. La valeur retournée est un entier hexadécimal de 32 caractères qui peut être utilisé par exemple comme clé de hachage.
Format d'utilisation :
MD5(Chaîne)
Nouveauté 16
MD5
La fonction MD5 calcule la somme de vérification MD5 de la chaîne passée en paramètre. La valeur retournée est un entier hexadécimal de 32 caractères qui peut être utilisé par exemple comme clé de hachage.
Format d'utilisation :
MD5(Chaîne)
MD5
La fonction MD5 calcule la somme de vérification MD5 de la chaîne passée en paramètre. La valeur retournée est un entier hexadécimal de 32 caractères qui peut être utilisé par exemple comme clé de hachage.
Format d'utilisation :
MD5(Chaîne)
Versions 16 et supérieures
SHA et SHA1
Les fonctions SHA et SHA1 calculent la somme de vérification SHA1 160 bits de la chaîne passée en paramètres selon la norme RFC 3174 (Secure Hash Algorithm). La valeur retournée est une chaîne hexadécimale de 40 caractères ou bien NULL si l'argument est NULL. Une des possibilités d'utilisation de cette fonction est le hachage de clé.
Format d'utilisation :
SHA(Chaîne)

SHA1(Chaîne)
Nouveauté 16
SHA et SHA1
Les fonctions SHA et SHA1 calculent la somme de vérification SHA1 160 bits de la chaîne passée en paramètres selon la norme RFC 3174 (Secure Hash Algorithm). La valeur retournée est une chaîne hexadécimale de 40 caractères ou bien NULL si l'argument est NULL. Une des possibilités d'utilisation de cette fonction est le hachage de clé.
Format d'utilisation :
SHA(Chaîne)

SHA1(Chaîne)
SHA et SHA1
Les fonctions SHA et SHA1 calculent la somme de vérification SHA1 160 bits de la chaîne passée en paramètres selon la norme RFC 3174 (Secure Hash Algorithm). La valeur retournée est une chaîne hexadécimale de 40 caractères ou bien NULL si l'argument est NULL. Une des possibilités d'utilisation de cette fonction est le hachage de clé.
Format d'utilisation :
SHA(Chaîne)

SHA1(Chaîne)
Versions 20 et supérieures
REGEXP ou RLIKE ou ~ ou REGEXP_LIKE
Le but des fonctions REGEXP ou RLIKE ou ~ ou REGEXP_LIKE est d'évaluer une expression régulière au sein d'une requête SQL.
Format d'utilisation :
chaîne REGEXP expression
chaîne RLIKE expression
chaîne ~ expression
REGEXP_LIKE(chaîne, expression)
où :
  • chaîne correspond à la chaîne que l'on souhaite évaluer.
  • expression correspond à l'expression régulière.
Le résultat de la fonction est un booléen :
  • Vrai si la chaîne correspond à l'expression régulière.
  • Faux si ce n'est pas le cas.
Remarque : Dans une expression régulière, le caractère "\" permet de spécifier une mise en forme particulière. Ainsi "\r" correspond à un retour chariot, "\n" à un retour à la ligne...
Exemples : Dans ces exemples, la chaîne 'abcde' est comparée à une expression régulière.
sRequete = "SELECT 'abcde' REGEXP 'a[bcd]{3}e' AS result"
REQ est une Source de Données
HExécuteRequêteSQL(REQ, hRequêteDéfaut, sRequete)
HLitPremier(REQ)
soit bResult = REQ.result
// bResult vaut vrai
sRequete = "SELECT 'abcde' REGEXP 'a[bcd]{2}e' AS result"
HExécuteRequêteSQL(REQ, hRequêteDéfaut, sRequete)
HLitPremier(REQ)
bResult = REQ.RESULT
// bResult vaut faux
Nouveauté 20
REGEXP ou RLIKE ou ~ ou REGEXP_LIKE
Le but des fonctions REGEXP ou RLIKE ou ~ ou REGEXP_LIKE est d'évaluer une expression régulière au sein d'une requête SQL.
Format d'utilisation :
chaîne REGEXP expression
chaîne RLIKE expression
chaîne ~ expression
REGEXP_LIKE(chaîne, expression)
où :
  • chaîne correspond à la chaîne que l'on souhaite évaluer.
  • expression correspond à l'expression régulière.
Le résultat de la fonction est un booléen :
  • Vrai si la chaîne correspond à l'expression régulière.
  • Faux si ce n'est pas le cas.
Remarque : Dans une expression régulière, le caractère "\" permet de spécifier une mise en forme particulière. Ainsi "\r" correspond à un retour chariot, "\n" à un retour à la ligne...
Exemples : Dans ces exemples, la chaîne 'abcde' est comparée à une expression régulière.
sRequete = "SELECT 'abcde' REGEXP 'a[bcd]{3}e' AS result"
REQ est une Source de Données
HExécuteRequêteSQL(REQ, hRequêteDéfaut, sRequete)
HLitPremier(REQ)
soit bResult = REQ.result
// bResult vaut vrai
sRequete = "SELECT 'abcde' REGEXP 'a[bcd]{2}e' AS result"
HExécuteRequêteSQL(REQ, hRequêteDéfaut, sRequete)
HLitPremier(REQ)
bResult = REQ.RESULT
// bResult vaut faux
REGEXP ou RLIKE ou ~ ou REGEXP_LIKE
Le but des fonctions REGEXP ou RLIKE ou ~ ou REGEXP_LIKE est d'évaluer une expression régulière au sein d'une requête SQL.
Format d'utilisation :
chaîne REGEXP expression
chaîne RLIKE expression
chaîne ~ expression
REGEXP_LIKE(chaîne, expression)
où :
  • chaîne correspond à la chaîne que l'on souhaite évaluer.
  • expression correspond à l'expression régulière.
Le résultat de la fonction est un booléen :
  • Vrai si la chaîne correspond à l'expression régulière.
  • Faux si ce n'est pas le cas.
Remarque : Dans une expression régulière, le caractère "\" permet de spécifier une mise en forme particulière. Ainsi "\r" correspond à un retour chariot, "\n" à un retour à la ligne...
Exemples : Dans ces exemples, la chaîne 'abcde' est comparée à une expression régulière.
sRequete = "SELECT 'abcde' REGEXP 'a[bcd]{3}e' AS result"
REQ est une Source de Données
HExécuteRequêteSQL(REQ, hRequêteDéfaut, sRequete)
HLitPremier(REQ)
soit bResult = REQ.result
// bResult vaut vrai
sRequete = "SELECT 'abcde' REGEXP 'a[bcd]{2}e' AS result"
HExécuteRequêteSQL(REQ, hRequêteDéfaut, sRequete)
HLitPremier(REQ)
bResult = REQ.RESULT
// bResult vaut faux
Version minimum requise
  • Version 11
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire