**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 |