Probleem:
Je wilt wat tekst in kleine letters in SQL veranderen.
Voorbeeld:
Onze database heeft een tabel met de naam item
met gegevens in de volgende kolommen:id
, code
, en wood_type_used
. De zaak is inconsistent in de gegevens in de wood_type_used
kolom. We willen graag dat alle houtsoorten in kleine letters worden weergegeven.
id | code | wood_type_used |
---|---|---|
1 | 000237PSH | Dennenboom |
2 | 000115MCH | MAHONIE |
3 | 000073BTB | berk |
4 | 00068WBD | wAlnUt |
5 | 00055BSH | Berk |
Oplossing:
We gebruiken de LOWER()
functie:
SELECT code, LOWER(wood_type_used) FROM item;
De zoekopdracht retourneert de items met houtsoorten geschreven in kleine letters:
code | wood_type_used |
---|---|
000237PSH | grenen |
000115MCH | mahonie |
000073BTB | berk |
00068WBD | walnoot |
00055BSH | berk |
Discussie:
Wanneer u tekstgegevens uit uw SQL-database in kleine letters wilt weergeven, gebruikt u de LOWER()
functie. Deze functie neemt als argument een string of de naam van een kolom waarvan de tekstwaarden in kleine letters moeten worden weergegeven. Het retourneert een versie van de originele tekstgegevens waarin elke hoofdletter wordt vervangen door het equivalent in kleine letters, en de rest van de tekens blijven ongewijzigd.
Het op een uniforme manier weergeven van tekst is echter niet de enige toepassing van de LOWER()
functie. Mogelijk vindt u het ook nuttig bij niet-hoofdlettergevoelige zoekopdrachten, dat wil zeggen zoekopdrachten waarbij het niet relevant is hoe de tekstgegevens die u zoekt oorspronkelijk in hoofdletters worden weergegeven.
In onze voorbeeldtabel hierboven zou je bijvoorbeeld alle items van berkenhout willen vinden. Aangezien de waarden van de houtsoort niet consistent in een kast staan, is het eenvoudig zoeken naar alle rijen met 'birch
’ in de wood_type_used
kolom zou slechts één rij retourneren, ook al zijn twee van de vermelde producten duidelijk gemaakt van berken. Dit is waar LOWER()
komt binnen:
SELECT * FROM item WHERE LOWER(wood_type_used) = ‘birch’;
Een dergelijke zoekopdracht retourneert alle rijen met een of andere vorm van 'berken'-tekenreeks in de wood_type_used
kolom, ongeacht hoe de waarden in de oorspronkelijke gegevens worden weergegeven. Vergeet niet om de tekst die u zoekt ook in kleine letters te schrijven.