Problem:
Du vil gerne ændre noget tekst til små bogstaver i SQL.
Eksempel:
Vores database har en tabel med navnet item
med data i følgende kolonner:id
, code
, og wood_type_used
. Sagen er inkonsekvent i dataene i wood_type_used
kolonne. Vi vil gerne have, at alle træsorter vises med små bogstaver.
id | kode | træ_type_brugt |
---|---|---|
1 | 000237PSH | Fyr |
2 | 000115MCH | MAHOGNY |
3 | 000073BTB | birk |
4 | 00068WBD | wAlnUt |
5 | 00055BSH | Birk |
Løsning:
Vi bruger LOWER()
funktion:
SELECT code, LOWER(wood_type_used) FROM item;
Forespørgslen returnerer emnerne med træsorter skrevet med små bogstaver:
kode | træ_type_brugt |
---|---|
000237PSH | fyr |
000115MCH | mahogni |
000073BTB | birk |
00068WBD | valnød |
00055BSH | birk |
Diskussion:
Når du ønsker, at nogle tekstdata fra din SQL-database skal vises med små bogstaver, skal du bruge LOWER()
fungere. Denne funktion tager som argument en streng eller navnet på en kolonne, hvis tekstværdier skal vises med små bogstaver. Det returnerer en version af de originale tekstdata, hvor hvert stort bogstav erstattes af dets tilsvarende små bogstaver, og resten af tegnene forbliver uændrede.
Men at vise tekst på en ensartet måde er ikke den eneste anvendelse af LOWER()
fungere. Du kan også finde det nyttigt i forespørgsler uden store og små bogstaver, det vil sige forespørgsler, hvor det er irrelevant, hvordan de tekstdata, du leder efter, oprindeligt er skrevet med store og små bogstaver.
For eksempel, i vores eksempeltabel ovenfor, vil du måske finde alle varer lavet af birketræ. Da værdier af træsorten ikke er konsekvent med hylstre, skal du blot søge efter alle rækker, der har 'birch
’ i wood_type_used
kolonne ville kun returnere én række, selvom to af de anførte produkter tydeligvis er lavet af birk. Det er her LOWER()
kommer ind:
SELECT * FROM item WHERE LOWER(wood_type_used) = ‘birch’;
En sådan forespørgsel vil returnere alle rækker med en form for 'birke'-streng i wood_type_used
kolonne, uanset hvordan værdierne er skrevet med store og små bogstaver i de originale data. Husk også at skrive den tekst, du søger efter, med små bogstaver.