un passage quasi-obligatoire pour faire des sites web dynamiques

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".
SELECT monchamp,CHAR_LENGTH(monchamp) FROM matable
monchamp CHAR_LENGTH(monchamp)
ToutEstFacile 13
SQLFacile 9
MySQL 5
PHPFACILE 9
CHARACTER_LENGTH(chaine)SQL92|MySQL|PostgreSQL
Retourne la longueur de la chaîne de caractères "chaine".
SELECT monchamp,CHARACTER_LENGTH(monchamp) FROM matable
monchamp CHARACTER_LENGTH(monchamp)
ToutEstFacile 13
SQLFacile 9
MySQL 5
PHPFACILE 9
LENGTH(chaine)MySQL
Retourne la longueur de la chaîne de caractères "chaine".
remUtilisez plutôt OCTET_LENGTH(), CHAR_LENGTH() ou CHARACTER_LENGTH() qui sont plus standard
SELECT monchamp,LENGTH(monchamp) FROM matable
monchamp LENGTH(monchamp)
ToutEstFacile 13
SQLFacile 9
MySQL 5
PHPFACILE 9
OCTET_LENGTH(chaine)SQL92|MySQL|PostgreSQL
Retourne la longueur de la chaîne de caractères "chaine".
SELECT monchamp,OCTET_LENGTH(monchamp) FROM matable
monchamp OCTET_LENGTH(monchamp)
ToutEstFacile 13
SQLFacile 9
MySQL 5
PHPFACILE 9

15.3.2.Les fonctions de substitution

LCASE(chaine)MySQL
Retourne la chaîne de caractères "chaine" en minuscules.
remUtilisez plutôt LOWER() qui est plus standard
SELECT monchamp,LCASE(monchamp) FROM matable
monchamp LCASE(monchamp)
ToutEstFacile toutestfacile
SQLFacile sqlfacile
MySQL mysql
PHPFACILE phpfacile
LOWER(chaine)SQL92|MySQL|PostgreSQL
Retourne la chaîne de caractères "chaine" en minuscules.
SELECT monchamp,LOWER(monchamp) FROM matable
monchamp LOWER(monchamp)
ToutEstFacile toutestfacile
SQLFacile sqlfacile
MySQL mysql
PHPFACILE phpfacile
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".
SELECT monchamp,REPLACE(monchamp,'Facile',' c''est Facile!') FROM matable
monchamp REPLACE(monchamp,'Facile',' c''est Facile!')
ToutEstFacile ToutEst c'est Facile!
SQLFacile SQL c'est Facile!
MySQL MySQL
PHPFACILE PHPFACILE
REVERSE(chaine) (MySQL)MySQL
Inverse l'ordre des caractères de la chaîne "chaine".
SELECT monchamp,REVERSE(monchamp) FROM matable
monchamp REVERSE(monchamp)
ToutEstFacile elicaFtsEtuoT
SQLFacile elicaFLQS
MySQL LQSyM
PHPFACILE ELICAFPHP
UCASE(chaine)MySQL
Retourne la chaîne de caractères "chaine" en majuscules.
remREM: Utilisez plutôt UPPER() qui est plus standard
SELECT monchamp,UCASE(monchamp) FROM matable
monchamp UCASE(monchamp)
ToutEstFacile TOUTESTFACILE
SQLFacile SQLFACILE
MySQL MYSQL
phpfacile PHPFACILE
UPPER(chaine)SQL92|MySQL|PostgreSQL
Retourne la chaîne de caractères "chaine" en majuscules.
SELECT monchamp,UPPER(monchamp) FROM matable
monchamp UPPER(monchamp)
ToutEstFacile TOUTESTFACILE
SQLFacile SQLFACILE
MySQL MYSQL
phpfacile PHPFACILE

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
remUtilisez plutôt POSITION() qui est plus standard
SELECT monchamp,INSTR(monchamp,'Facile') FROM matable
monchamp INSTR(monchamp,'Facile')
ToutEstFacile 8
SQLFacile 4
MySQL 0
PHPFACILE 0
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
SELECT monchamp,LOCATE('Facile',monchamp) FROM matable
monchamp LOCATE('Facile',monchamp)
ToutEstFacile 8
SQLFacile 4
MySQL 0
PHPFACILE 0
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.
SELECT monchamp,LOCATE('Facile',monchamp,5) FROM matable
monchamp LOCATE('Facile',monchamp,5)
ToutEstFacile 8
SQLFacile 0
MySQL 0
PHPFACILE 0
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
SELECT monchamp,POSITION('Facile' IN monchamp) FROM matable
monchamp POSITION('Facile' IN monchamp)
ToutEstFacile 8
SQLFacile 4
MySQL 0
PHPFACILE 0
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