Problém:
Chtěli byste změnit nějaký text na malá písmena v SQL.
Příklad:
Naše databáze obsahuje tabulku s názvem item
s údaji v následujících sloupcích:id
, code
a wood_type_used
. Velikost písmen je v datech v wood_type_used
nekonzistentní sloupec. Rádi bychom, aby byly všechny druhy dřeva zobrazeny malými písmeny.
id | kód | wood_type_used |
---|---|---|
1 | 000237PSH | Borovice |
2 | 000115MCH | MAHOGANY |
3 | 000073BTB | bříza |
4 | 00068WBD | wAlnUt |
5 | 00055BSH | Bříza |
Řešení:
Použijeme LOWER()
funkce:
SELECT code, LOWER(wood_type_used) FROM item;
Dotaz vrátí položky s typy dřeva napsanými malými písmeny:
kód | wood_type_used |
---|---|
000237PSH | borovice |
000115MCH | mahagon |
000073BTB | bříza |
00068WBD | vlašský ořech |
00055BSH | bříza |
Diskuse:
Kdykoli chcete, aby se některá textová data z vaší databáze SQL zobrazovala malými písmeny, použijte LOWER()
funkce. Tato funkce bere jako argument řetězec nebo název sloupce, jehož textové hodnoty mají být zobrazeny malými písmeny. Vrací verzi původních textových dat, ve kterých je každé velké písmeno nahrazeno jeho ekvivalentem malých písmen a zbytek znaků zůstává nezměněn.
Zobrazení textu jednotným způsobem však není jedinou aplikací LOWER()
funkce. Může se vám také hodit v dotazech, kde se nerozlišují velká a malá písmena, tj. v dotazech, u kterých nezáleží na tom, jak jsou hledaná textová data původně rozdělena na velká a malá písmena.
Například v naší vzorové tabulce výše můžete chtít najít všechny položky vyrobené z březového dřeva. Vzhledem k tomu, že hodnoty typu dřeva nejsou konzistentně tvořeny malými písmeny, jednoduše dotazujte všechny řádky, které obsahují „birch
’ v wood_type_used
sloupec vrátí pouze jeden řádek, i když dva z uvedených produktů jsou jednoznačně vyrobeny z břízy. Toto je místo LOWER()
přichází:
SELECT * FROM item WHERE LOWER(wood_type_used) = ‘birch’;
Takový dotaz vrátí všechny řádky s nějakou formou řetězce „bříza“ v wood_type_used
bez ohledu na to, jak jsou hodnoty uspořádány v původních datech. Nezapomeňte napsat text, který hledáte, také malými písmeny.