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 |