Opérateurs, fonctions et expressions régulières

Transcription

Opérateurs, fonctions et expressions régulières
Opérateurs, fonctions et expressions régulières
1. Opérateurs logiques
Opérateur
AND
OR
NOT
Description
et logique
ou logique
négation logique
2. Opérateurs de comparaison
Opérateur
<x> = <y>
<x> != <y> ou <x> <> <y>
<x> < <y>
<x> > <y>
<x> <= <y>
<x> >= <y>
<x> BETWEEN <y> AND <z>
<x> IS NULL
<x> IS [NOT] NULL
<x> IS DISTINCT FROM <y>
<x> IS NOT DISTINCT FROM <y>
Description
<x> est égal à <y>
<x> est différent à <y>
<x> est strictement inférieur à <y>
<x> est inférieur ou égal <y>
<x> est strictement supérieur à <y>
<x> est inférieur ou égal à <y>
Equivalent à <x> >= <y> AND <x> <=
<z>
<x> a pour valeur NULL
<x> n’a pas pour valeur NULL
<x> est différent de <y> (la valeur
NULL est supportée)
<x> est égal à <y> (la valeur NULL est
supportée)
Les opérateurs de comparaison standard renvoient NULL et non faux si l’une des entrées (<x>
ou <y>) est NULL. DISTINCT et NOT DISTINCT permettent de comparer des opérateurs dont la
valeur est NULL avec d’autres et retourne vrai ou faux selon qu’il y a égalité ou non.
3. Opérateurs mathématiques
Opérateur
<x>+<y>
<x>-<y>
<x>*<y>
<x>/<y>
<x>%<y>
<x>^<y>
|/<x>
<x>!
@(<x>)
Description
Addition
Soustraction
Multiplication
Division
Modulo
Exposant
Racine carrée
factorielle
Valeur absolue
Exemple
SELECT 2+3;
SELECT 2-3;
SELECT 2*3;
SELECT 7/3;
SELECT 8\% 3;
SELECT 2\^3;
SELECT |/2;
SELECT 3 !;
SELECT @(-2);
Résultat
5
-1
6
2
2
8
1.41421…
6
2
1
4. Fonctions et opérateurs de chaines de caractères
http://dev.mysql.com/doc/refman/5.0/fr/string-functions.html
Fonction ou opérateur
CONCAT (<x>, <y>)
Description
Concaténation de chaînes (au moins une
des expressions <x>, <y> doit être une
chaîne)
LENGTH(<ch>)
Retourne le nombre de caractères de la
chaine <ch>
LOWER(<ch>)
Convertit une chaîne en minuscules
UPPER(<ch>)
Convertit une chaîne en majuscules
LOCATE(<sous-ch>, <ch>)
Position de la sous-caîne <sous-ch> dans
la chaîne <ch>
SUBSTRING(<ch> [FROM <pos>] [FOR Extrait une sous-chaîne de la chaîne <ch>
<nb>])
de <nb> caractères à partir de la position
<pos>
Exemple
SELECT CONCAT(‘2*3=’, 2*3);
SELECT LENGTH(‘John’) ;
SELECT LOWER(‘John’) ;
SELECT UPPER(‘John’) ;
SELECT LOCATE (‘so’, ‘Jason’);
SELECT SUBSTRING(‘Jason’ FROM 3 FOR
2);
Résultat
2*3=6
4
john
JOHN
3
so
5. Fonctions de gestion de date
http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
6. Expressions régulières
Les expressions régulières sont introduites par l’opérateur ~ qui est sensibles à la casse. Pour
introduite une expression régulière insensible à la casse il faut utiliser l’opérateur ~*.
<caractère> : un caractère est une expression régulière qui désigne le caractère lui-même, excepté
pour les caractères ., ?, *, +, {, |, (,),^,$,\, [, ]. Ces derniers sont des méta-caractères qui doivent être
précédés d’un antislash pour les désigner
Exemples :
Toutes les personnes dont le nom contient la lettre a :
SELECT * FROM personne WHERE personne.nom LIKE BINARY ’%a%’;
Toutes les personnes dont le nom contient la lettre a ou A
2
SELECT * FROM personne WHERE personne.nom LIKE ’%a%’;
Toutes les personnes dont le nom ne contient pas la lettre a sans tenir compte de la casse :
SELECT * FROM personne WHERE personne.nom NOT LIKE ’%a%’;
<expr1><expr2>: la concatenation de deux expressions régulières est une nouvelle expression
régulière
Exemple : toutes les personnes dont le nom contient la séquence obe :
SELECT * FROM personnes WHERE personne.nom LIKE ’%obe%’
Toutes les personnes don’t le nom se termine par roux:
SELECT * FROM personne WHERE personne.nom LIKE ’%roux’;
Toutes les personnes dont le nom contient la sequence aur ou our:
SELECT * FROM personne WHERE personne.nom LIKE ‘%aur%’ OR personne.nom LIKE ‘%our’%;
3

Documents pareils