15.Les fonctions SQL
15.3.Les fonctions SQL sur les chaînes de caractères
15.3.1.Les fonctions donnant la longueur d'une chaîne de caractères
CHAR_LENGTH(chaine) |
SQL92|MySQL|PostgreSQL |
Retourne la longueur de la chaîne de caractères "chaine". |
monchamp |
CHAR_LENGTH(monchamp) |
ToutEstFacile |
13 |
SQLFacile |
9 |
MySQL |
5 |
PHPFACILE |
9 |
SELECT monchamp,CHAR_LENGTH(monchamp) FROM matable
|
CHARACTER_LENGTH(chaine) |
SQL92|MySQL|PostgreSQL |
Retourne la longueur de la chaîne de caractères "chaine". |
monchamp |
CHARACTER_LENGTH(monchamp) |
ToutEstFacile |
13 |
SQLFacile |
9 |
MySQL |
5 |
PHPFACILE |
9 |
SELECT monchamp,CHARACTER_LENGTH(monchamp) FROM matable
|
LENGTH(chaine) |
MySQL |
Retourne la longueur de la chaîne de caractères "chaine".
|
- Utilisez plutôt OCTET_LENGTH(), CHAR_LENGTH() ou CHARACTER_LENGTH() qui sont plus standard
|
|
monchamp |
LENGTH(monchamp) |
ToutEstFacile |
13 |
SQLFacile |
9 |
MySQL |
5 |
PHPFACILE |
9 |
SELECT monchamp,LENGTH(monchamp) FROM matable
|
OCTET_LENGTH(chaine) |
SQL92|MySQL|PostgreSQL |
Retourne la longueur de la chaîne de caractères "chaine". |
monchamp |
OCTET_LENGTH(monchamp) |
ToutEstFacile |
13 |
SQLFacile |
9 |
MySQL |
5 |
PHPFACILE |
9 |
SELECT monchamp,OCTET_LENGTH(monchamp) FROM matable
|
15.3.2.Les fonctions de substitution
LCASE(chaine) |
MySQL |
Retourne la chaîne de caractères "chaine" en minuscules.
|
- Utilisez plutôt LOWER() qui est plus standard
|
|
monchamp |
LCASE(monchamp) |
ToutEstFacile |
toutestfacile |
SQLFacile |
sqlfacile |
MySQL |
mysql |
PHPFACILE |
phpfacile |
SELECT monchamp,LCASE(monchamp) FROM matable
|
LOWER(chaine) |
SQL92|MySQL|PostgreSQL |
Retourne la chaîne de caractères "chaine" en minuscules. |
monchamp |
LOWER(monchamp) |
ToutEstFacile |
toutestfacile |
SQLFacile |
sqlfacile |
MySQL |
mysql |
PHPFACILE |
phpfacile |
SELECT monchamp,LOWER(monchamp) FROM matable
|
REPLACE(chaine1,chaine2,chaine3) |
MySQL |
Retourne une chaine de caractère dans laquelle toutes les occurences de "chaine2" dans "chaine1" ont été remplacées par "chaine3". |
monchamp |
REPLACE(monchamp,'Facile',' c''est Facile!') |
ToutEstFacile |
ToutEst c'est Facile! |
SQLFacile |
SQL c'est Facile! |
MySQL |
MySQL |
PHPFACILE |
PHPFACILE |
SELECT monchamp,REPLACE(monchamp,'Facile',' c''est Facile!') FROM matable
|
REVERSE(chaine) (MySQL) |
MySQL |
Inverse l'ordre des caractères de la chaîne "chaine". |
monchamp |
REVERSE(monchamp) |
ToutEstFacile |
elicaFtsEtuoT |
SQLFacile |
elicaFLQS |
MySQL |
LQSyM |
PHPFACILE |
ELICAFPHP |
SELECT monchamp,REVERSE(monchamp) FROM matable
|
UCASE(chaine) |
MySQL |
Retourne la chaîne de caractères "chaine" en majuscules.
|
- REM: Utilisez plutôt UPPER() qui est plus standard
|
|
monchamp |
UCASE(monchamp) |
ToutEstFacile |
TOUTESTFACILE |
SQLFacile |
SQLFACILE |
MySQL |
MYSQL |
phpfacile |
PHPFACILE |
SELECT monchamp,UCASE(monchamp) FROM matable
|
UPPER(chaine) |
SQL92|MySQL|PostgreSQL |
Retourne la chaîne de caractères "chaine" en majuscules. |
monchamp |
UPPER(monchamp) |
ToutEstFacile |
TOUTESTFACILE |
SQLFacile |
SQLFACILE |
MySQL |
MYSQL |
phpfacile |
PHPFACILE |
SELECT monchamp,UPPER(monchamp) FROM matable
|
15.3.3.Les autres fonctions
ASCII(chaine) (MySQL, PostgreSQL)
retourne le code ascii du premier caractère de "chaine"
CHAR(entier1,entier2,...) (MySQL)
retourne la chaîne de caractères issue de la concaténation des caractères exprimés par leurs codes ascii "entier1","entier2",etc
CONCAT(chaine1,chaine2,...) (MySQL)
retourne la chaîne de caractères issue de la concaténation des chaines de caractères "chaine1","chaine2",etc.
ELT(entier,chaine1,chaine2,...) (MySQL)
retourne la "entier"-ième chaîne de caractères de la liste "chaine1","chaine2",...
EXPORT_SET (MySQL)
-
FIELD(chaine1,chaine2,chaine3,...) (MySQL)
retourne la position de "chaine1" dans la liste "chaine2","chaine3",...
FIND_IN_SET(chaine1,chaine2) (MySQL)
retourne la position de "chaine1" dans la liste composée par "chaine2". "chaine2" étant une chaîne de caractère représentant une liste de chaine de caractères séparés par des virgules
INITCAP(chaine) (PostgreSQL)
retourne la chaîne de caractères "chaine" avec la première lettre de chaque mot en majuscule
INSERT(chaine1,entier1,entier2,chaine2) (MySQL)
insert "chaine2" dans "chaine1" à la position "entier1" en remplaçant "entier2" caractères de "chaine2"
INSTR(chaine1,chaine2) |
MySQL |
Retourne la position de "chaine2" dans "chaine1". Le premier caractère étant à la position 1
|
- Utilisez plutôt POSITION() qui est plus standard
|
|
monchamp |
INSTR(monchamp,'Facile') |
ToutEstFacile |
8 |
SQLFacile |
4 |
MySQL |
0 |
PHPFACILE |
0 |
SELECT monchamp,INSTR(monchamp,'Facile') FROM matable
|
LEFT(chaine,entier) (MySQL)
Retourne les "entier" premiers caractères de "chaine"
LOAD_FILE(chaine) (MySQL)
retourne la chaîne de caractère correspondant au contenu du fichier "chaine"
LOCATE(chaine1,chaine2) (MySQL) |
MySQL |
Retourne la position de "chaine1" dans "chaine2". Le premier caractère étant à la position 1 |
monchamp |
LOCATE('Facile',monchamp) |
ToutEstFacile |
8 |
SQLFacile |
4 |
MySQL |
0 |
PHPFACILE |
0 |
SELECT monchamp,LOCATE('Facile',monchamp) FROM matable
|
LOCATE(chaine1,chaine2, entier 1) |
MySQL |
Retourne la position de "chaine1" dans "chaine2" en commencant la recherche au "entier1"-ième caractère. Le premier caractère étant à la position 1. |
monchamp |
LOCATE('Facile',monchamp,5) |
ToutEstFacile |
8 |
SQLFacile |
0 |
MySQL |
0 |
PHPFACILE |
0 |
SELECT monchamp,LOCATE('Facile',monchamp,5) FROM matable
|
LPAD(chaine1,entier,chaine2) (MySQL, PosgreSQL)
Ajoute les caractères de "chaine2" devant "chaine1" jusqu'à obtenir une chaîne de "entier" caractères
LTRIM(chaine) (MySQL)
Supprime les espaces en début de "chaine"
LTRIM(chaine1,chaine2) (PostgreSQL)
Supprime les "chaine2" en début de "chaine1"
MAKE_SET (MySQL)
-
MID(chaine,entier1,entier2) (MySQL)
Extrait de "chaine" la portion de caractères commençant au "entier1" caractère et d'une longueur de "entier2" caractères
ORD(chaine) (MySQL)
-
POSITION(chaine1 IN chaine2) |
SQL92|MySQL|PostgreSQL |
Retourne la position de "chaine1" dans "chaine2". Le premier caractère étant à la position 1 |
monchamp |
POSITION('Facile' IN monchamp) |
ToutEstFacile |
8 |
SQLFacile |
4 |
MySQL |
0 |
PHPFACILE |
0 |
SELECT monchamp,POSITION('Facile' IN monchamp) FROM matable
|
REPEAT(chaine,entier) (MySQL)
retourne une chaîne de caractères composée de "entier" fois "chaine"
RIGHT(chaine,entier) (MySQL)
Retourne les "entier" derniers caractères de "chaine"
RPAD(chaine1,entier,chaine2) (MySQL, PostgreSQL)
Ajoute les caractères de "chaine2" à la suite de "chaine1" jusqu'à obtenir une chaîne de "entier" caractères
RTRIM(chaine) (MySQL)
supprime les derniers espaces de "chaine"
RTRIM(chaine1,chaine2) (PostgreSQL)
supprime les derniers "chaine2" de "chaine1"
SOUNDEX(chaine) (MySQL)
retourne le soundex de "chaine"
SPACE(entier) (MySQL)
retourne une chaîne de caractère composée de "entier" espaces
SUBSTR(chaine,entier1) (PostgreSQL)
Extrait de "chaine" la portion de caractères commençant au "entier1" caractère
SUBSTR(chaine,entier1,entier2) (PostgreSQL)
Extrait de "chaine" la portion de caractères commençant au "entier1" caractère et d'une longueur de "entier2" caractères
SUBSTRING(chaine,entier1) (MySQL)
Extrait de "chaine" la portion de caractères commençant au "entier1" caractère
SUBSTRING(chaine,entier1,entier2) (MySQL)
Extrait de "chaine" la portion de caractères commençant au "entier1" caractère et d'une longueur de "entier2" caractères
SUBSTRING(chaine FROM entier1) (SQL92, MySQL, PostgreSQL)
Extrait de "chaine" la portion de caractères commençant au "entier1" caractère
SUBSTRING(chaine FROM entier1 FOR entier2) (SQL92, MySQL, PostgreSQL)
Extrait de "chaine" la portion de caractères commençant au "entier1" caractère et d'une longueur de "entier2" caractères
SUBSTRING_INDEX(chaine1,chaine2,entier) (MySQL)
Retourne le début de la chaîne de caractère "chaine1" jusqu'à atteindre la "entier"-ième occurence de "chaine2" (non inclus). Si entier est négatif, cela retourne la fin de la chaîne de caractère "chaine1" commençant à la "entier"-ième occurence de "chaine2" (non compris) compté depuis la fin.
TEXTPOS(chaine1,chaine2) (PostgreSQL)
retourne la position de "chaine2" dans "chaine1"
TRIM(chaine) (MySQL)
supprime les espaces de début et de fin de "chaine"
TRIM(BOTH 'chaine1' FROM chaine2) (SQL92, MySQL, PostgreSQL)
supprime les "chaine1" de début et de fin de "chaine2"
TRIM(LEADING 'chaine1' FROM chaine2) (SQL92, MySQL, PostgreSQL)
supprime les "chaine1" de début de "chaine2"
TRIM(TRAILING 'chaine1' FROM chaine2) (SQL92, MySQL, PostgreSQL)
supprime les "chaine1" de fin de "chaine2"
15.3.4.Les fonctions sur les chaînes représentant des nombres
BIN(entier) |
retourne la chaine de caractère représentant "entier" en binaire |
MySQL |
CONV(chaine1,entier1,entier2) |
Converti la chaîne de caractère "chaine" représentant un nombre exprimé dans la base "entier1" en un nombre exprimé dans la base "entier2" |
MySQL |
HEX(entier) |
retourne la chaine de caractère représentant "entier" en hexadecimal |
MySQL |
OCT(entier) |
retourne la chaine de caractère représentant "entier" en octal |
MySQL |