FROM Animal
INNER JOIN Espece ON Animal.espece_id = Espece.id
WHERE nom_courant = 'Chien'
AND CHAR_LENGTH(nom) MOD 2 = 0;
-- OU
SELECT nom, nom_courant
FROM Animal
INNER JOIN Espece ON Animal.espece_id = Espece.id
WHERE nom_courant = 'Chien'
AND MOD(CHAR_LENGTH(nom),2) = 0;
Le nombre de lettres, c'était facile, il suffisait d'utiliser CHAR_LENGTH().
Pour savoir si un nombre est pair, il faut utiliser les modulos : lorsqu'un nombre est pair, le reste d'une division entière de ce
nombre par 2 est 0, donc ce nombre modulo 2 vaut 0.
En résumé
Concaténer deux chaînes de caractères signifie les mettre bout à bout.
Il ne faut pas hésiter, pour obtenir le résultat voulu, à combiner plusieurs fonctions ensemble.
Pour savoir si un nombre est multiple d'un autre, on peut utiliser le modulo.
Partie 3 : Fonctions : nombres, chaînes et agrégats
171/414
www.openclassrooms.com
INNER JOIN Espece ON Animal.espece_id = Espece.id
WHERE nom_courant = 'Chien'
AND CHAR_LENGTH(nom) MOD 2 = 0;
-- OU
SELECT nom, nom_courant
FROM Animal
INNER JOIN Espece ON Animal.espece_id = Espece.id
WHERE nom_courant = 'Chien'
AND MOD(CHAR_LENGTH(nom),2) = 0;
Le nombre de lettres, c'était facile, il suffisait d'utiliser CHAR_LENGTH().
Pour savoir si un nombre est pair, il faut utiliser les modulos : lorsqu'un nombre est pair, le reste d'une division entière de ce
nombre par 2 est 0, donc ce nombre modulo 2 vaut 0.
En résumé
Concaténer deux chaînes de caractères signifie les mettre bout à bout.
Il ne faut pas hésiter, pour obtenir le résultat voulu, à combiner plusieurs fonctions ensemble.
Pour savoir si un nombre est multiple d'un autre, on peut utiliser le modulo.
Partie 3 : Fonctions : nombres, chaînes et agrégats
171/414
www.openclassrooms.com
