I. Les fonctions dans SQL▲
Légende :
O : Oui
N : Non
X : Existe mais syntaxe hors norme
! : Même nom, mais fonction différente
- : implémentation partielle
I-A. Agrégation statistique▲
|
Fonction |
Description |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Interbase |
|---|---|---|---|---|---|---|---|---|---|
|
AVG |
Moyenne |
O |
O |
O |
O |
O |
O |
O |
O |
|
COUNT |
Nombre |
O |
O |
X |
O |
O |
O |
O |
O |
|
MAX |
Maximum |
O |
O |
O |
O |
O |
O |
O |
O |
|
MIN |
Minimum |
O |
O |
O |
O |
O |
O |
O |
O |
|
SUM |
Total |
O |
O |
O |
O |
O |
O |
O |
O |
|
EVERY |
Tous (booléen) |
O |
N |
N |
N |
N |
N |
N |
N |
|
ANY / SOME |
Au moins un (booléen) |
O |
N |
N |
N |
N |
N |
N |
N |
I-B. Fonction « système »▲
|
Fonction |
Description |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Interbase |
|---|---|---|---|---|---|---|---|---|---|
|
CURRENT_DATE |
Date courante |
O |
N |
N |
O |
O |
N |
N |
O |
|
CURRENT_TIME |
Heure courante |
O |
N |
N |
O |
O |
N |
N |
O |
|
CURRENT_TIMESTAMP |
Date et heure courantes |
O |
N |
N |
O |
O |
O |
N |
O |
|
CURRENT_USER |
Utilisateur courant |
O |
N |
N |
N |
O |
O |
N |
N |
|
SESSION_USER |
Utilisateur autorisé |
O |
N |
N |
X |
O |
O |
N |
N |
|
SYSTEM_USER |
Utilisateur système |
O |
N |
N |
X |
O |
O |
N |
N |
|
CURDATE |
Date du jour |
N |
N |
N |
O |
N |
N |
N |
N |
|
CURTIME |
Heure courante |
N |
N |
N |
O |
N |
N |
N |
N |
|
DATABASE |
Nom de la base de données courante |
N |
N |
N |
O |
N |
O |
O |
N |
|
GETDATE |
Heure et date courantes |
N |
N |
N |
N |
N |
O |
N |
N |
|
NOW |
Heure et date courantes |
N |
O |
O |
O |
O |
O |
O |
N |
|
SYSDATE |
Date et/ou heure courantes |
N |
N |
N |
O |
N |
N |
O |
N |
|
TODAY |
Date du jour |
N |
O |
N |
N |
N |
N |
N |
N |
|
USER |
Utilisateur courant |
N |
N |
N |
O |
N |
O |
O |
O |
|
VERSION |
Version du SGBDR |
N |
N |
N |
O |
O |
N |
N |
N |
I-C. Fonctions générales▲
|
Fonction |
Description |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Interbase |
|---|---|---|---|---|---|---|---|---|---|
|
CAST |
Transtypage |
O |
O |
N |
O |
O |
O |
O |
O |
|
COALESCE |
Valeur non NULL |
O |
N |
N |
O |
O |
O |
N |
N |
|
NULLIF |
Valeur NULL |
O |
N |
N |
O |
O |
O |
N |
N |
|
OCTET_LENGTH |
Longueur en octets |
O |
N |
N |
O |
O |
N |
O |
N |
|
DATALENGTH |
Longueur |
N |
N |
N |
N |
N |
O |
N |
N |
|
DECODE |
Fonction conditionnelle |
N |
N |
N |
N |
N |
N |
O |
N |
|
GREATEST |
Plus grande valeur |
N |
N |
N |
O |
N |
N |
O |
N |
|
IFNULL |
Valeur non NULL |
N |
N |
N |
O |
O |
O |
N |
N |
|
LEAST |
Plus petite valeur |
N |
N |
N |
N |
O |
N |
O |
N |
|
LENGTH |
Longueur |
N |
N |
O |
O |
O |
O |
O |
N |
|
NVL |
Valeur non NULL |
N |
N |
N |
N |
N |
N |
O |
N |
|
TO_CHAR |
Conversion de données en chaîne |
N |
N |
N |
N |
N |
N |
O |
N |
|
TO_DATE |
Conversion en date |
N |
N |
N |
N |
O |
N |
O |
N |
|
TO_NUMBER |
Conversion en nombre |
N |
N |
N |
N |
N |
N |
O |
N |
I-D. Fonctions de chaînes de caractères▲
|
Fonction |
Description |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Interbase |
|---|---|---|---|---|---|---|---|---|---|
|
|| |
Concaténation |
O |
O |
N |
X |
O |
N |
O |
O |
|
CHAR_LENGTH |
Longueur d'une chaîne |
O |
N |
N |
X |
O |
N |
N |
N |
|
CHARACTER_LENGTH |
Longueur d'une chaîne |
O |
N |
N |
O |
O |
O |
N |
N |
|
COLLATE |
Substitution à une séquence de caractères |
O |
N |
N |
N |
N |
N |
N |
O |
|
CONCATENATE |
Concaténation |
O |
N |
N |
N |
N |
O |
N |
N |
|
CONVERT |
Conversion de format de caractères |
O |
N |
N |
N |
N |
! |
O |
O |
|
LIKE (prédicat) |
Comparaison partielle |
O |
O |
X |
O |
O |
O |
O |
O |
|
LOWER |
Mise en minuscules |
O |
O |
N |
O |
O |
O |
O |
N |
|
POSITION |
Position d'une chaîne dans une sous-chaîne |
O |
N |
N |
O |
O |
N |
N |
N |
|
SUBSTRING |
Extraction d'une sous-chaîne |
O |
O |
N |
O |
O |
N |
N |
N |
|
TRANSLATE |
Conversion de jeu de caractères |
O |
N |
N |
N |
X |
N |
X |
N |
|
TO_CHAR |
Conversion de données en chaîne |
N |
N |
N |
N |
N |
N |
O |
N |
|
TRIM |
Suppression des caractères inutiles |
O |
O |
N |
O |
O |
N |
O |
N |
|
UPPER |
Mise en majuscules |
O |
O |
N |
O |
O |
O |
O |
O |
|
CHAR |
Conversion de code en caractères ASCII |
N |
N |
O |
O |
N |
O |
N |
N |
|
CHAR_OCTET_LENGTH |
Longueur d'une chaîne en octets |
N |
N |
N |
N |
N |
O |
N |
N |
|
CHARACTER_MAXIMUM_LENGTH |
Longueur maximum d'une chaîne |
N |
N |
N |
N |
N |
O |
N |
N |
|
CHARACTER_OCTET_LENGTH |
Longueur d'une chaîne en octets |
N |
N |
N |
N |
N |
O |
N |
N |
|
CONCAT |
Concaténation |
N |
N |
O |
O |
N |
O |
O |
N |
|
ILIKE |
LIKE insensible à la casse |
N |
N |
N |
N |
O |
N |
N |
N |
|
INITCAP |
Initiale en majuscule |
N |
N |
N |
N |
O |
N |
O |
N |
|
INSTR |
Position d'une chaîne dans une autre |
N |
N |
O |
O |
N |
N |
O |
N |
|
LCASE |
Mise en minuscules |
N |
N |
O |
O |
N |
O |
O |
N |
|
LOCATE |
Position d'une chaîne dans une autre |
N |
O |
O |
O |
N |
O |
O |
N |
|
LPAD |
Remplissage à gauche |
N |
N |
N |
O |
O |
N |
O |
N |
|
LTRIM |
TRIM à gauche |
N |
O |
O |
O |
O |
O |
O |
N |
|
NCHAR |
Conversion de code en caractères UNICODE |
N |
N |
N |
N |
N |
O |
N |
N |
|
PATINDEX |
Position d'un motif dans une chaîne |
N |
N |
N |
N |
N |
O |
N |
N |
|
REPLACE |
Remplacement de caractères |
N |
N |
N |
O |
N |
O |
O |
N |
|
REVERSE |
Renversement |
N |
N |
N |
O |
N |
O |
O |
N |
|
RPAD |
Remplissage à droite |
N |
N |
N |
O |
O |
N |
O |
N |
|
RTRIM |
TRIM à droite |
N |
N |
O |
O |
O |
O |
O |
N |
|
SPACE |
Génération d'espaces |
N |
N |
O |
O |
N |
O |
O |
N |
|
SUBSTR |
Extraction d'une sous-chaîne |
N |
N |
N |
N |
N |
N |
O |
N |
|
UCASE |
Mise en majuscules |
N |
N |
O |
O |
N |
O |
O |
N |
|
SIMILAR |
Recherche de motifs avancés |
N |
N |
N |
N |
N |
N |
N |
N |
I-E. Fonctions de chaînes de bits▲
|
Fonction |
Description |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Interbase |
|---|---|---|---|---|---|---|---|---|---|
|
BIT_LENGTH |
Longueur en bit |
O |
N |
N |
N |
N |
N |
N |
N |
|
& |
« et » pour bit logique |
N |
N |
? |
? |
? |
O |
? |
? |
|
| |
« ou » pour bit logique |
N |
N |
? |
? |
? |
O |
? |
? |
|
^ |
« ou » exclusif pour bit logique |
N |
N |
? |
? |
? |
O |
? |
? |
I-F. Fonctions numériques▲
|
Fonction |
Description |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Interbase |
|---|---|---|---|---|---|---|---|---|---|
|
% |
Modulo |
N |
N |
N |
O |
O |
O |
N |
N |
|
+ - * / ( ) |
Opérateurs et parenthèsage |
O |
O |
O |
O |
O |
O |
O |
O |
|
ABS |
Valeur absolue |
N |
N |
O |
O |
O |
O |
O |
N |
|
ASCII |
Conversion de caractères en code ASCII |
N |
N |
O |
O |
O |
O |
O |
N |
|
ASIN |
Angle de sinus |
N |
N |
N |
O |
O |
O |
O |
N |
|
ATAN |
Angle de tangente |
N |
N |
N |
O |
O |
O |
O |
N |
|
CEILING |
Valeur approchée haute |
N |
N |
O |
O |
N |
O |
N |
N |
|
COS |
Cosinus |
N |
N |
O |
O |
O |
O |
O |
N |
|
COT |
Cotangente |
N |
N |
O |
O |
O |
O |
N |
N |
|
EXP |
Exponentielle |
N |
N |
O |
O |
O |
O |
O |
N |
|
FLOOR |
Valeur approchée basse |
N |
N |
O |
O |
O |
O |
O |
N |
|
LN |
Logarithme népérien |
N |
N |
N |
N |
N |
N |
O |
N |
|
LOG |
Logarithme népérien |
N |
N |
O |
O |
N |
O |
O |
N |
|
LOG(n,m) |
Logarithme en base n de m |
N |
N |
N |
N |
O |
N |
O |
N |
|
LOG10 |
Logarithme décimal |
N |
N |
N |
O |
N |
O |
O |
N |
|
MOD |
Modulo |
N |
N |
O |
O |
O |
O |
O |
N |
|
PI |
Pi |
N |
N |
N |
O |
O |
O |
O |
N |
|
POWER |
Élévation à la puissance |
N |
N |
O |
O |
N |
O |
O |
N |
|
RAND |
Valeur aléatoire |
N |
N |
O |
O |
N |
O |
N |
N |
|
ROUND |
Arrondi |
N |
N |
O |
O |
O |
O |
N |
N |
|
SIGN |
Signe |
N |
N |
O |
O |
O |
O |
O |
N |
|
SIN |
Sinus |
N |
N |
O |
O |
O |
O |
O |
N |
|
SQRT |
Racine carrée |
N |
N |
O |
O |
O |
O |
N |
N |
|
TAN |
Tangente |
N |
N |
O |
O |
O |
O |
O |
N |
|
TRUNC |
Troncature |
N |
N |
N |
N |
N |
N |
O |
N |
|
TRUNCATE |
Troncature |
N |
N |
O |
O |
O |
O |
N |
|
|
UNICODE |
Conversion de caractères en code UNICODE |
N |
N |
N |
N |
N |
O |
? |
N |
I-G. Fonctions temporelles▲
|
Fonction |
Description |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Interbase |
|---|---|---|---|---|---|---|---|---|---|
|
EXTRACT |
Partie de date |
O |
O |
N |
O |
O |
N |
O |
N |
|
INTERVAL (opérations sur) |
Durée |
O |
N |
N |
N |
N |
N |
O |
N |
|
OVERLAPS (prédicat) |
Recouvrement de période |
O |
N |
N |
N |
O |
N |
N |
N |
|
ADDDATE |
Ajout d'intervalle à une date |
N |
N |
N |
O |
N |
N |
N |
N |
|
AGE |
Age |
N |
N |
N |
N |
O |
N |
N |
N |
|
DATE_ADD |
Ajout d'intervalle à une date |
N |
N |
N |
O |
N |
N |
N |
N |
|
DATE_FORMAT |
Formatage de date |
N |
N |
N |
O |
N |
N |
N |
N |
|
DATE_PART |
Partie de date |
N |
N |
N |
N |
O |
N |
N |
N |
|
DATE_SUB |
Retrait d'intervalle à une date |
N |
N |
N |
O |
N |
N |
N |
N |
|
DATEADD |
Ajout de date |
N |
N |
N |
N |
N |
O |
N |
N |
|
DATEDIFF |
Retrait de date |
N |
N |
N |
N |
N |
O |
N |
N |
|
DATENAME |
Nom d'une partie de date |
N |
N |
N |
N |
N |
O |
N |
N |
|
DATEPART |
Partie de date |
N |
N |
N |
N |
N |
O |
N |
N |
|
DAY |
Jour d'une date |
N |
N |
N |
N |
N |
O |
N |
N |
|
DAYNAME |
Nom du jour |
N |
N |
O |
O |
N |
O |
N |
N |
|
DAYOFMONTH |
Jour du mois |
N |
N |
N |
O |
N |
N |
N |
N |
|
DAYOFWEEK |
Jour de la semaine |
N |
N |
N |
O |
N |
N |
N |
N |
|
DAYOFYEAR |
Jour dans l'année |
N |
N |
N |
O |
N |
N |
N |
N |
|
HOUR |
Extraction de l'heure |
N |
N |
O |
O |
N |
O |
N |
N |
|
LAST_DAY |
Dernier jour du mois |
N |
N |
N |
N |
N |
N |
O |
N |
|
MINUTE |
N |
N |
O |
O |
N |
O |
N |
N |
|
|
MONTH |
Mois d'une date |
N |
N |
O |
O |
N |
O |
O |
N |
|
MONTH_BETWEEN |
MONTH_BETWEEN |
N |
N |
N |
|||||
|
MONTHNAME |
Nom du mois |
N |
N |
O |
O |
N |
O |
N |
N |
|
NEXT_DAY |
Prochain premier jour de la semaine |
N |
N |
N |
N |
N |
N |
O |
N |
|
SECOND |
Extrait les secondes |
N |
N |
O |
O |
N |
O |
N |
N |
|
SUBDATE |
Retrait d'intervalle à une date |
N |
N |
N |
O |
N |
N |
N |
N |
|
WEEK |
Numéro de la semaine |
N |
N |
O |
O |
N |
O |
O |
N |
|
YEAR |
Année d'une date |
N |
N |
O |
O |
N |
O |
O |
N |
I-H. Fonctions OLAP (norme SQL:1999)▲
|
Fonction |
Description |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Interbase |
|---|---|---|---|---|---|---|---|---|---|
|
CUBE |
Sous-totaux des agrégats pour toutes les combinaisons possibles |
O |
N |
N |
N |
N |
O |
O |
N |
|
ROLLUP |
Sous-totaux des agrégats pour toutes les combinaisons visibles |
O |
N |
N |
N |
N |
O |
O |
N |
|
GROUPING SETS |
Sous-totaux des agrégats pour toutes les combinaisons spécifiées |
O |
N |
N |
N |
N |
O |
O |
N |
|
GROUPINGS |
Indicateur de sous-totalisation |
O |
N |
N |
N |
N |
O |
O |
N |
|
NULL FIRTS / NULL LAST |
Spécification de classement pour les marqueurs NULL |
O |
N |
N |
N |
N |
N |
O |
N |
I-I. Fonctions de fenêtrage et analytiques (normes 2003 et 2008)▲
|
Fonction |
Description |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Firebird |
|---|---|---|---|---|---|---|---|---|---|
|
ROW_NUMBER |
Numérotation des lignes |
O |
N |
N |
N |
N |
O |
O |
N |
|
RANK |
Classement avec trou (ex æquo) |
O |
O |
N |
N |
N |
N |
O |
O |
|
DENSE_RANK |
Classement sans trou (ex æquo) |
O |
N |
N |
N |
N |
O |
O |
N |
|
CUME_DIST |
Distribution cumulative |
O |
N |
N |
N |
N |
N |
? |
N |
|
NTILE |
N-tile (décile, centileKITOOODVP-DOTS.) |
O |
N |
N |
N |
N |
O |
O |
N |
|
Agrégats (MAX, MIN, COUNT, SUM…) |
Calcul d'agrégat avec fenêtrage |
O |
N |
N |
N |
N |
O |
O |
N |
|
ROWS / RANGE |
Fenêtre de calcul par ligne ou valeurs |
O |
N |
N |
N |
N |
N |
O |
N |
|
PRECEDING * / FOLLOWING * / BETWEEN |
Bornage de la fenêtre de calcul |
O |
N |
N |
N |
N |
N |
O |
N |
|
LAG / LEAD |
Borne précédente, suivante |
O |
N |
N |
N |
N |
N |
O |
N |
|
FIRST_VALUE / LAST_VALUE / NTH_VALUE |
Borne première, dernière, Ne. valeur |
O |
N |
N |
N |
N |
N |
O |
N |
|
EXCLUDEE (CURRENT ROW, GROUP TIES, NO OTHER) |
Exclusion de ligne |
O |
N |
N |
N |
N |
N |
N |
N |
|
Clause WINDOW |
Définition d'une fenêtre de calcul |
O |
N |
N |
N |
N |
N |
N |
N |
I-J. Prédicat, opérateurs et structures diverses▲
|
Fonction |
Description |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Firebird |
|---|---|---|---|---|---|---|---|---|---|
|
CASE |
Structure conditionnelle |
O |
N |
N |
O |
O |
O |
X |
O |
|
IS [NOT] TRUE |
Vrai |
O |
N |
N |
N |
N |
N |
N |
N |
|
IS [NOT] FALSE |
Faux |
O |
N |
N |
N |
N |
N |
N |
N |
|
IS [NOT] UNKNOWN |
Inconnu |
O |
N |
N |
N |
N |
N |
N |
N |
|
IS [NOT] NULL |
NULL |
O |
O |
X |
O |
O |
O |
O |
O |
|
INNER JOIN |
Jointure interne |
O |
O |
O |
O |
O |
O |
N |
O |
|
LEFT, RIGHT, FULL OUTER JOIN |
Jointure externe |
O |
O |
O |
O |
O |
O |
N |
O |
|
NATURAL JOIN |
Jointure naturelle |
O |
N |
N |
O |
O |
N |
N |
N |
|
UNION JOIN |
Jointure d'union |
O |
N |
N |
N |
N |
N |
N |
N |
|
LEFT, RIGHT, FULL OUTER NATURAL JOIN |
Jointure naturelle externe |
O |
N |
N |
X |
O |
N |
N |
N |
|
INTERSECT |
Intersection (ensemble) |
O |
? |
N |
N |
O |
N |
X |
N |
|
UNION |
Union (ensemble) |
O |
? |
O |
N |
O |
O |
O |
O |
|
EXCEPT |
Différence (ensemble) |
O |
? |
N |
N |
O |
N |
X |
N |
|
[NOT] IN |
Liste |
O |
O |
O |
X |
O |
O |
O |
O |
|
[NOT] BETWEEN |
Fourchette |
O |
O |
O |
O |
O |
O |
O |
|
|
[NOT] EXISTS |
Existence |
O |
? |
? |
N |
O |
O |
O |
O |
|
ALL |
Comparaison à toutes les valeurs d'un ensemble |
O |
? |
O |
N |
O |
O |
O |
O |
|
ANY / SOME |
Comparaison à au moins une valeur de l'ensemble |
O |
? |
O |
N |
O |
O |
O |
O |
|
UNIQUE |
Existence sans doublon |
O |
N |
N |
N |
N |
N |
N |
N |
|
MATCH UNIQUE |
Correspondance |
O |
N |
N |
N |
N |
N |
N |
N |
|
row value construteur |
Constructeur de lignes valuées |
O |
N |
N |
N |
N |
- |
- |
N |
I-K. Fonctions spéciales▲
|
Fonction |
Norme SQL |
Description |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Firebird |
|---|---|---|---|---|---|---|---|---|---|
|
TABLE SAMPLE |
Échantillon de données |
O |
N |
N |
N |
N |
O |
O |
N |
|
TRUNCATE |
Vidage de table |
O |
N |
N |
N |
N |
O |
O |
O |
|
OFFSET / FETCH |
Limitation des lignes retournées |
O |
N |
N |
N |
N |
N |
N |
N |
|
LIMIT/TOP |
Nombre de lignes retournées |
N |
N |
N |
LIMIT |
LIMIT |
TOP |
N |
ROWS |
|
« Row Id » |
Identifiant de ligne |
N |
N |
N |
_rowid |
oid |
N |
rowid |
? |
I-L. Sous-requêtes▲
|
Fonction |
Norme SQL |
Paradox |
Access |
MySQL |
PostGreSQL |
SQL Server |
Oracle |
Firebird |
|---|---|---|---|---|---|---|---|---|
|
Imbriquées |
O |
O |
O |
N |
O |
O |
O |
O |
|
Corrélées |
O |
O |
O |
N |
O |
O |
O |
O |
|
Dans la clause SELECT |
O |
X |
O |
N |
O |
O |
O |
O |
|
Dans la clause FROM |
O |
N |
N |
N |
O |
O |
O |
N |
|
Dans la clause WHERE |
O |
O |
O |
N |
O |
O |
O |
O |
|
Dans la clause HAVING |
O |
O |
N |
N |
O |
O |
O |
O |
|
CTE (Common Table Expression : expression de table) |
O |
N |
N |
N |
N |
O |
O |
O |
|
Requêtes récursives via CTE |
O |
N |
N |
N |
N |
O |
X |
O |




