Database
 sql >> Base de données >  >> RDS >> Database

Comment changer le texte en minuscules dans SQL

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.