Académique Documents
Professionnel Documents
Culture Documents
données
1
I- Traitement des chaînes de caractères
Et des nombres
2
Traitement des chaînes
4
Traitement des chaînes
Résultat :
7
SELECT
Connaîtreid,lalogin, LENGTH(login)
longueur du login AS login_length, ville,
telephone FROM utilisateur
id login login_length ville telephone
1 aa 2 Paris 123
2 paul 4 Lyon 06.00.00.00.00
3 leolebea 9 Lyon 0600000000
u
4 john 4 Lille 1
dans where :
Extraire les utilisateur avec un login inférieur à 5
caractères
• Syntaxe :
– UPPER ( chaîne )
– LOWER ( chaîne )
| Pilotes de CAST |
+------------------+
| PLACIDE FRESNAIS |
| FRANCOISE TORT |
TRIM
SELECT
TRIM('B' FROM 'BA380 à +----------------+
BlagnacBBBBB') | Bye les Jumbo |
"Bye les Jumbo";
+----------------+
| A380 à Blagnac |
+----------------+
• Suppression des espaces à gauche (LTRIM) ou à droite
(RTRIM) d’une
• chaîne de caractères
• Syntaxe :
– LTRIM ( chaîne )
– RTRIM ( chaîne )
2 2013-07-18
Select
Trim(contenu).. Ceci est une réponse avec
des caractères "invisibles"
au début et à la fin.
3 2013-08-02
Encore un autre message.
4 2013-08-29 Dernier message avec un
retour à la ligne.
id date_ajout contenu_trim
1 2013-07-11 Bonjour, ceci est un message de
test.
+----------------+
| Miroir |
+----------------+
| A380 à Blagnac |
+----------------+
LPAD : permet de compléter une chaîne de caractère
jusqu’à ce qu’elle atteigne la taille souhaitée, en ajoutant
des caractères au début de cette chaîne.
SELECT LPAD('azerty', 4, 'x'); -- retourne 'azer'
SELECT LPAD('azerty', 6, 'x'); -- retourne 'azerty'
SELECT LPAD('azerty', 10, 'x'); -- retourne 'xxxxazerty'
SELECT LPAD('azerty', 10); -- retourne ' azerty' (fonctionne avec
Oracle ou PostgreSQL, mais pas avec MySQL)
SELECT LPAD('azerty', 9, 'xy'); -- retourne 'xyxazerty'
SELECT LPAD('123', 6, '0'); -- retourne '000123'
Résultat LPAD(prix_avec_format,
id nom prix_avec_format
8, '0')
1 Télévision 45500 00045500
2 Téléphone 2990 00002990
3 Table 12200 00012200
4 Fauteuil 3599 00003599
REPLACE : permet de remplacer des caractères
alphanumérique dans une chaîne de caractère.
REPLACE(c1,c2,c3) Recherche les c2 présentes dans c1 et
les remplace par c3.
La fonction comporte 3 paramètres :
Chaîne d’entré
Texte à remplacer
Texte qui sert de remplacement
SELECT ROUND(nom_colonne, 2)
FROM `table`
20
Exemple
Table “resultat”
id utilisateur algorithme
1 Thomas 78.4216857
2 Marie 69.1294526
3 Sophie 63.5236241
4 John 24.6578954
Résult
at : ROUND(al
id utilisateur algorithme gorithme,
2)
1 Thomas 78.4216857 78.42
2 Marie 69.1294526 69.13
3 Sophie 63.5236241 63.52
4 John 24.6578954 24.66
RAND() : fonction random
Syntaxe en mysql
SELECT RAND();
0.8702846307962059
0.0648367116831585
0.7657416637667843
En oracle : select dbms_random.value from
table;
• SELECT RAND() * 100;
Résultats possibles :
60.11546427394773
51.26955569839995
15.105471494705855
id ville departement
7 Strasbourg Bas-Rhin
Fonctions mathématiques en sql
Conversions
Explicites
• Une conversion est dite « explicite » quand
on utilise une fonction à cet effet.
• Les fonctions de conversion les plus
connues sont CAST et CONVERT (qui
respectent la syntaxe de la norme SQL).
CAST()
convertir une données d’un type en un autre.
Syntaxe
SELECT CAST( expression AS type );
Table client
Exemple id prenom nom date_ajout budget
1 Thierry Jourdain 2013-02-05 14:11:09 314.21
id : BIGINT
prenom : VARCHAR 2 Laurette Bertin 2013-03-15 15:06:45 154.34
nom : VARCHAR
3 André Moreira 2013-08-26 08:24:39 255.47
date_ajout : DATETIME
budget : FLOAT 4 Aurélie Moulin 2013-09-04 11:36:17 147.95
Résultat
id prenom nom date_ajout budget_cast
1 Thierry Jourdain 2013-02-05 314
14:11:09
2 Laurette Bertin 2013-03-15 154
15:06:45
3 André Moreira 2013-08-26 255
08:24:39
4 Aurélie Moulin 2013-09-04 148
11:36:17
CONVERT()
Syntaxe
CONVERT(expression, type);
Exemple:
SELECT CONVERT(52.2, SIGNED INTEGER); -- résultat : 52
SELECT CONVERT(52.5, SIGNED INTEGER); -- résultat : 53
SELECT CONVERT(52.6, SIGNED INTEGER); -- résultat : 53
SELECT CONVERT(-52.6, SIGNED INTEGER); -- résultat : -53
SELECT CONVERT(52.2, UNSIGNED INTEGER); -- résultat : 52
SELECT CONVERT(52.5, UNSIGNED INTEGER); -- résultat : 53
SELECT CONVERT(52.6, UNSIGNED INTEGER); -- résultat : 53