Page personnelle : ne pas effacer.
Les fonctions SQL
Source : http://sqlpro.developpez.com/cours/sqlaz/fonctions/
| Légende | |
|---|---|
| O | Oui |
| N | Non |
| | Existe mais syntaxe hors norme |
| ! | Même nom mais fonction différente |
| | |
| Pas d'information (connue ou inconnue) |
Agrégation statistique
| Description | Norme SQL | Paradox | Access | MySQL | PostGreSQL | SQL Server | Oracle | Interbase |
|---|---|---|---|---|---|---|---|---|
| Maximum | MAX | MAX | MAX | MAX | MAX | MAX | MAX | MAX |
| Minimum | MIN | MIN | MIN | MIN | MIN | MIN | MIN | MIN |
| Moyenne | AVG | AVG | AVG | AVG | AVG | AVG | AVG | AVG |
| Nombre | COUNT | COUNT | | COUNT | COUNT | COUNT | COUNT | COUNT |
| Somme | SUM | SUM | SUM | SUM | SUM | SUM | SUM | SUM |
Système
| Description | Norme SQL | Paradox | Access | MySQL | PostGreSQL | SQL Server | Oracle | Interbase |
|---|---|---|---|---|---|---|---|---|
| Date courante | CURRENT_DATE | TODAY | CURRENT_DATE SYSDATE CURDATE | CURRENT_DATE | CURRENT_DATE SYSDATE | CURRENT_DATE | ||
| Date et heure courantes | CURRENT_TIMESTAMP | NOW | NOW | CURRENT_TIMESTAMP NOW SYSDATE | CURRENT_TIMESTAMP NOW | CURRENT_TIMESTAMP GETDATE NOW | CURRENT_DATE SYSDATE | CURRENT_TIMESTAMP |
| Heure courante | CURRENT_TIME | CURRENT_TIME SYSDATE CURTIME | CURRENT_TIME | SYSDATE | CURRENT_TIME | |||
| Nom de la base de données courante | DATABASE | DATABASE | DATABASE | |||||
| Utilisateur autorisé | SESSION_USER | | SESSION_USER | SESSION_USER | ||||
| Utilisateur courant | CURRENT_USER | USER | CURRENT_USER | CURRENT_USER USER | USER | USER | ||
| Utilisateur système | SYSTEM_USER | | SYSTEM_USER | SYSTEM_USER | ||||
| Version du SGBDR | VERSION | VERSION |
Générales
| Description | Norme SQL | Paradox | Access | MySQL | PostGreSQL | SQL Server | Oracle | Interbase |
|---|---|---|---|---|---|---|---|---|
| Conversion de données en chaîne | TO_CHAR | |||||||
| Conversion en date | TO_DATE | TO_DATE | ||||||
| Conversion en nombre | TO_NUMBER | |||||||
| Fonction conditionnelle | DECODE | |||||||
| Longueur | LENGTH | LENGTH | LENGTH | LENGTH DATALENGTH | LENGTH | |||
| Longueur en octet | OCTET_LENGTH | OCTET_LENGTH | OCTET_LENGTH | |||||
| Plus grande valeur | GREATEST | GREATEST | ||||||
| Plus petite valeur | LEAST | LEAST | ||||||
| Transtypage | CAST | CAST | CAST | CAST | CAST | CAST | CAST | |
| Valeur non NULL | COALESCE | COALESCE IFNULL | NVL | |||||
| Valeur NULL | NULLIF | OCTET_LENGTH | ||||||
Chaines de caractères
| Description | Norme SQL | Paradox | Access | MySQL | PostGreSQL | SQL Server | Oracle | Interbase |
|---|---|---|---|---|---|---|---|---|
| Comparaison partielle insensible à la casse | ILIKE | |||||||
| Comparaison partielle | LIKE (prédicat) | LIKE | | LIKE | LIKE | LIKE | LIKE | LIKE |
| Concaténation | || CONCATENATE | || | CONCAT | CONCAT | || | CONCATENATE CONCAT + | || CONCAT | || |
| Conversion de code en caractère ASCII | CHAR | CHAR | CHAR | |||||
| Conversion de code en caractère UNICODE | NCHAR | |||||||
| Conversion de données en chaîne | TO_CHAR | |||||||
| Conversion de format de caractères | CONVERT | ! | CONVERT | CONVERT | ||||
| Conversion de jeu de caractères | TRANSLATE | | | |||||
| Extraction d'une sous-chaîne | SUBSTRING | SUBSTRING | SUBSTRING | SUBSTRING | SUBSTR | |||
| Génération d'espaces | SPACE | SPACE | SPACE | SPACE | ||||
| Initiales en majuscule | INITCAP | INITCAP | ||||||
| Longueur d'une chaîne en octets | CHAR_OCTET_LENGTH CHARACTER_OCTET_LENGTH | |||||||
| Longueur d'une chaîne | CHAR_LENGTH CHARACTER_LENGTH | CHARACTER_LENGTH | CHAR_LENGTH CHARACTER_LENGTH | CHARACTER_LENGTH | ||||
| Longueur maximum d'une chaîne | CHARACTER_MAXIMUM_LENGTH | |||||||
| Mise en majuscule | UPPER | UPPER UCASE | UCASE | UPPER | UPPER UCASE | UPPER UCASE | UPPER | UPPER |
| Mise en minuscule | LOWER | LOWER | LCASE | LOWER LCASE | LOWER | LOWER LCASE | LOWER LCASE | |
| Position d'un motif dans une chaîne | PATINDEX | |||||||
| Position d'une chaîne dans une autre | POSITION | LOCATE | INSTR LOCATE | INSTR LOCATE POSITION | POSITION | LOCATE | INSTR LOCATE | |
| Remplacement de caractères | REPLACE | REPLACE | REPLACE | |||||
| Remplissage à droite | RPAD | RPAD | RPAD | |||||
| Remplissage à gauche | LPAD | LPAD | LPAD | |||||
| Renversement | REVERSE | REVERSE | REVERSE | |||||
| Substitution à une séquence de caractères | COLLATE | COLLATE | ||||||
| Suppression des espaces inutiles à droite | RTRIM | RTRIM | RTRIM | RTRIM | RTRIM | |||
| Suppression des espaces inutiles à gauche | LTRIM | LTRIM | LTRIM | LTRIM | LTRIM | LTRIM | ||
| Suppression des espaces inutiles | TRIM | TRIM | TRIM | TRIM | TRIM |
Chaines de bits
| Description | Norme SQL | Paradox | Access | MySQL | PostGreSQL | SQL Server | Oracle | Interbase |
|---|---|---|---|---|---|---|---|---|
| Longueur en bit | BIT_LENGTH | |||||||
| ET pour bit logique | | | | & | | |
||
| OU pour bit logique | | | | | | | |
||
| OU EXCLUSIF pour bit logique | | | | ^ | | |
Numériques
| Description | Norme SQL | Paradox | Access | MySQL | PostGreSQL | SQL Server | Oracle | Interbase |
|---|---|---|---|---|---|---|---|---|
| Angle de sinus (arc-sinus) | ASIN | ASIN | ASIN | ASIN | ||||
| Angle de tangente (arc-tangente) | ATAN | ATAN | ATAN | ATAN | ||||
| Arrondi | ROUND | ROUND | ROUND | ROUND | ||||
| Conversion de caractère en code ASCII | ASCII | ASCII | ASCII | ASCII | ASCII | |||
| Conversion de caractère en code UNICODE | UNICODE | | ||||||
| Cosinus | COS | COS | COS | COS | COS | |||
| Cotangente | COT | COT | COT | COT | ||||
| Élévation à la puissance | POWER | POWER | POWER | POWER | ||||
| Exponentielle | EXP | EXP | EXP | EXP | EXP | |||
| Logarithme décimal | LOG10 | LOG10 | LOG10 | |||||
| Logarithme en base n de m | LOG(n, m) | LOG(n, m) | ||||||
| Logarithme népérien | LOG | LOG | LOG | LOG LN | ||||
| Modulo | MOD | MOD | MOD | MOD | MOD | |||
| Modulo | % | % | % | |||||
| Opérateurs et parenthésage | + - * / ( ) | + - * / ( ) | ||||||
| Pi | PI | PI | PI | PI | ||||
| Racine carrée | SQRT | SQRT | SQRT | SQRT | ||||
| Signe | SIGN | SIGN | SIGN | SIGN | SIGN | |||
| Sinus | SIN | SIN | SIN | SIN | SIN | |||
| Tangente | TAN | TAN | TAN | TAN | TAN | |||
| Troncature | TRUNC TRUNCATE | TRUNCATE | TRUNCATE | TRUNCATE | TRUNC TRUNCATE | |||
| Valeur absolue | ABS | ABS | ABS | ABS | ABS | |||
| Valeur aléatoire | RAND | RAND | RAND | |||||
| Valeur approchée basse | FLOOR | FLOOR | FLOOR | FLOOR | FLOOR | |||
| Valeur approchée haute | CEILING | CEILING | CEILING | |||||
Temporelles
| Description | Norme SQL | Paradox | Access | MySQL | PostGreSQL | SQL Server | Oracle | Interbase |
|---|---|---|---|---|---|---|---|---|
| Âge | AGE | |||||||
| Ajout d'intervalle à une date | ADDDATE DATE_ADD | |||||||
| Ajout de date | DATEADD | |||||||
| Année d'une date | YEAR | YEAR | YEAR | YEAR | ||||
| Dernier jour du mois | LAST_DAY | |||||||
| Durée | INTERVAL (opérations sur) | INTERVAL | ||||||
| Extraction de l'heure | HOUR | HOUR | HOUR | |||||
| Extrait les secondes | SECOND | SECOND | SECOND | |||||
| Formatage de date | DATE_FORMAT | |||||||
| Jour d'une date | DAY | |||||||
| Jour dans l'année | DAYOFYEAR | |||||||
| Jour de la semaine | DAYOFWEEK | |||||||
| Jour du mois | DAYOFMONTH | |||||||
| Minute | MINUTE | MINUTE | MINUTE | |||||
| Mois d'une date | MONTH | MONTH | MONTH | MONTH | ||||
| MONTH_BETWEEN | ||||||||
| Nom d'une partie de date | DATENAME | |||||||
| Nom du jour | DAYNAME | DAYNAME | DAYNAME | |||||
| Nom du mois | MONTHNAME | MONTHNAME | MONTHNAME | |||||
| Numéro de la semaine | WEEK | WEEK | WEEK | WEEK | ||||
| Partie de date | EXTRACT | EXTRACT | EXTRACT | EXTRACT DATE_PART | DATEPART | EXTRACT | ||
| Prochain premier jour de la semaine | NEXT_DAY | |||||||
| Recouvrement de période | OVERLAPS (prédicat) | OVERLAPS | ||||||
| Retrait d'intervalle à une date | DATE_SUB SUBDATE | |||||||
| Retrait de date | DATEDIFF |
Prédicat, opérateurs et structures diverses
| Fonction | Description | Norme SQL | Paradox | Access | MySQL | PostGreSQL | SQL Server | Oracle | Interbase |
|---|---|---|---|---|---|---|---|---|---|
| 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 | N | 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 | Existance sans doublons | O | N | N | N | N | N | N | N |
| MATCH UNIQUE | Correspondance | O | N | N | N | N | N | N | N |
| row value construteur | Construteur de ligne valuées | O | N | N | N | N | N | O | N |
| MINUS | Différence (ensemble) | N | N | N | N | O | N | O | N |
| LIMITE | nombre de ligne retournée | N | N | TOP | LIMIT | LIMIT | TOP | N | ROWS |
| identifiant de ligne | N | N | N | _rowid | oid | N | rowid | ? |
Sous-requêtes
| Description | Norme SQL | Paradox | Access | MySQL | PostGreSQL | SQL Server | Oracle | Interbase |
|---|---|---|---|---|---|---|---|---|
| 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 | | 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 |