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