SELECT FOUND_ROWS() AS sans_option;
SELECT SQL_CALC_FOUND_ROWS id, nom, espece_id, prix
-- Avec option
FROM Race
LIMIT 3;
SELECT FOUND_ROWS() AS avec_option;
sans_option
3
avec_option
8
Convertir le type de données
Dans certaines situations, vous allez vouloir convertir le type de votre donnée (une chaîne de caractères '45' en entier 45 par
exemple). Il faut savoir que dans la majorité de ces situations, MySQL est assez souple et permissif pour faire la conversion luimême, automatiquement, et sans que vous ne vous en rendiez vraiment compte (attention, ce n'est pas le cas de la plupart des
SGBDR).
Exemple : conversions automatiques
Code : SQL
SELECT *
FROM Espece
WHERE id = '3';
INSERT INTO Espece (nom_latin, nom_courant, description, prix)
VALUES ('Rattus norvegicus', 'Rat brun', 'Petite bestiole avec de
longues moustaches et une longue queue sans poils', '10.00');
La colonne id est de type INT, pourtant la comparaison avec une chaîne de caractères renvoie bien un résultat. De même, la
colonne prix est de type DECIMAL, mais l'insertion d'une valeur sous forme de chaîne de caractères n'a posé aucun problème.
MySQL a converti automatiquement.
Dans les cas où la conversion automatique n'est pas possible, vous pouvez utiliser la fonction CAST(expr AS type). expr
représente la donnée que vous voulez convertir, et type est bien sûr le type vers lequel vous voulez convertir votre donnée.
Ce type peut être : BINARY, CHAR, DATE, DATETIME, TIME, UNSIGNED (sous-entendu INT), SIGNED (sous-entendu INT),
DECIMAL.
Exemple : conversion d'une chaîne de caractère en date
Code : SQL
SELECT CAST('870303' AS DATE);
CAST('870303' AS DATE)
1987-03-03
En résumé
Partie 3 : Fonctions : nombres, chaînes et agrégats
158/414
www.openclassrooms.com
SELECT SQL_CALC_FOUND_ROWS id, nom, espece_id, prix
-- Avec option
FROM Race
LIMIT 3;
SELECT FOUND_ROWS() AS avec_option;
sans_option
3
avec_option
8
Convertir le type de données
Dans certaines situations, vous allez vouloir convertir le type de votre donnée (une chaîne de caractères '45' en entier 45 par
exemple). Il faut savoir que dans la majorité de ces situations, MySQL est assez souple et permissif pour faire la conversion luimême, automatiquement, et sans que vous ne vous en rendiez vraiment compte (attention, ce n'est pas le cas de la plupart des
SGBDR).
Exemple : conversions automatiques
Code : SQL
SELECT *
FROM Espece
WHERE id = '3';
INSERT INTO Espece (nom_latin, nom_courant, description, prix)
VALUES ('Rattus norvegicus', 'Rat brun', 'Petite bestiole avec de
longues moustaches et une longue queue sans poils', '10.00');
La colonne id est de type INT, pourtant la comparaison avec une chaîne de caractères renvoie bien un résultat. De même, la
colonne prix est de type DECIMAL, mais l'insertion d'une valeur sous forme de chaîne de caractères n'a posé aucun problème.
MySQL a converti automatiquement.
Dans les cas où la conversion automatique n'est pas possible, vous pouvez utiliser la fonction CAST(expr AS type). expr
représente la donnée que vous voulez convertir, et type est bien sûr le type vers lequel vous voulez convertir votre donnée.
Ce type peut être : BINARY, CHAR, DATE, DATETIME, TIME, UNSIGNED (sous-entendu INT), SIGNED (sous-entendu INT),
DECIMAL.
Exemple : conversion d'une chaîne de caractère en date
Code : SQL
SELECT CAST('870303' AS DATE);
CAST('870303' AS DATE)
1987-03-03
En résumé
Partie 3 : Fonctions : nombres, chaînes et agrégats
158/414
www.openclassrooms.com
