Проблем:
Искате да промените част от текста на малки букви в SQL.
Пример:
Нашата база данни има таблица с име item
с данни в следните колони:id
, code
и wood_type_used
. Случаят е непоследователен в данните в wood_type_used
колона. Бихме искали всички видове дървесина да се показват с малки букви.
id | код | използвано_тип_дървесина |
---|---|---|
1 | 000237PSH | Бор |
2 | 000115MCH | МАХАГОН |
3 | 000073BTB | бреза |
4 | 00068WBD | орех |
5 | 00055BSH | Бреза |
Решение:
Ще използваме LOWER()
функция:
SELECT code, LOWER(wood_type_used) FROM item;
Заявката връща елементите с видове дървесина, написани с малки букви:
код | използвано_тип_дървесина |
---|---|
000237PSH | бор |
000115MCH | махагон |
000073BTB | бреза |
00068WBD | орех |
00055BSH | бреза |
Дискусия:
Всеки път, когато искате някои текстови данни от вашата SQL база данни да се показват с малки букви, използвайте LOWER()
функция. Тази функция приема като аргумент низ или име на колона, чиито текстови стойности трябва да се показват с малки букви. Той връща версия на оригиналните текстови данни, в която всяка главна буква се заменя с нейния еквивалент на малка буква, а останалите знаци остават непроменени.
Въпреки това, показването на текст по еднакъв начин не е единственото приложение на LOWER()
функция. Може да ви бъде полезен и при заявки, нечувствителни към главни букви, тоест заявки, при които няма значение как първоначално са записани текстовите данни, които търсите.
Например, в нашата примерна таблица по-горе може да искате да намерите всички елементи, изработени от брезова дървесина. Тъй като стойностите на типа дървесина не се определят последователно, просто се прави заявка за всички редове, които имат „birch
“ в wood_type_used
колона би върнала само един ред, въпреки че два от изброените продукти очевидно са направени от бреза. Това е мястото, където LOWER()
идва:
SELECT * FROM item WHERE LOWER(wood_type_used) = ‘birch’;
Такава заявка ще върне всички редове с някаква форма на низ „бреза“ в wood_type_used
колона, независимо от това как стойностите са записани в оригиналните данни. Не забравяйте да напишете текста, който търсите, също с малки букви.