Problème :
Vous souhaitez modifier du texte en minuscules dans SQL.
Exemple :
Notre base de données a une table nommée item
avec des données dans les colonnes suivantes :id
, code
, et wood_type_used
. La casse est incohérente dans les données du wood_type_used
colonne. Nous souhaitons que toutes les essences de bois soient affichées en minuscules.
identifiant | code | type_de_bois_utilisé |
---|---|---|
1 | 000237PSH | Pin |
2 | 000115MCH | ACAJOU |
3 | 000073BTB | bouleau |
4 | 00068WBD | noix |
5 | 00055BSH | Bouleau |
Solution :
Nous utiliserons le LOWER()
fonction :
SELECT code, LOWER(wood_type_used) FROM item;
La requête renvoie les éléments dont les essences de bois sont écrites en lettres minuscules :
code | type_de_bois_utilisé |
---|---|
000237PSH | pin |
000115MCH | acajou |
000073BTB | bouleau |
00068WBD | noyer |
00055BSH | bouleau |
Discussion :
Chaque fois que vous souhaitez que certaines données textuelles de votre base de données SQL soient affichées en minuscules, utilisez le LOWER()
une fonction. Cette fonction prend en argument une chaîne ou le nom d'une colonne dont les valeurs textuelles doivent être affichées en minuscules. Il renvoie une version des données de texte d'origine dans laquelle chaque lettre majuscule est remplacée par son équivalent minuscule et le reste des caractères reste inchangé.
Cependant, afficher du texte de manière uniforme n'est pas la seule application du LOWER()
une fonction. Vous pouvez également le trouver utile dans les requêtes insensibles à la casse, c'est-à-dire les requêtes dans lesquelles la casse initiale des données textuelles que vous recherchez n'est pas pertinente.
Par exemple, dans notre exemple de tableau ci-dessus, vous voudrez peut-être trouver tous les articles en bois de bouleau. Étant donné que les valeurs du type de bois ne sont pas cohérentes, il suffit d'interroger toutes les lignes qui ont 'birch
' dans le wood_type_used
ne renverrait qu'une seule ligne, même si deux des produits répertoriés sont clairement en bouleau. C'est là que LOWER()
entre :
SELECT * FROM item WHERE LOWER(wood_type_used) = ‘birch’;
Une telle requête renverra toutes les lignes avec une forme de chaîne "bouleau" dans le wood_type_used
colonne, quelle que soit la casse des valeurs dans les données d'origine. N'oubliez pas d'écrire le texte que vous recherchez également en minuscules.