Používání funkcí pro čištění řetězců
V celém tomto kurzu budeme pracovat s datasetem obsahujícím 5 000 záznamů o dopravních přestupcích v New Yorku, uložených v tabulce parking_violation.
Právě se redesignuje služba, která zasílá příjemcům pokut tištěnou kopii oznámení o přestupku. Aby byl výstup na formuláři správně naformátovaný, je potřeba upravit některá pole oproti jejich podobě v databázi. Konkrétní změny jsou následující:
- Kvůli správnému zarovnání textu na formuláři musí mít hodnoty ve sloupci
violation_locationdélku 4 znaky. - Všechny hodnoty
P-U(pick-up truck) ve sloupcivehicle_body_typeby měly být nahrazeny obecnou hodnotouTRK. - Ve sloupci
street_nameby mělo být velké pouze první písmeno každého slova.
K provedení těchto změn použijeme funkce LPAD(), REPLACE() a INITCAP().
Toto cvičení je součástí kurzu
Cleaning Data in PostgreSQL Databases
Pokyny k cvičení
- Pomocí funkce
LPAD()přidej na začátek každé hodnotyviolation_location, která má méně než 4 číslice, znak'0'. - Pomocí funkce
REPLACE()nahraď hodnoty'P-U'za'TRK've sloupcivehicle_body_type. - Pomocí funkce
INITCAP()zajisti, aby ve sloupcistreet_namezačínalo každé slovo velkým písmenem.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
SELECT
-- Add 0s to ensure violation_location is 4 characters in length
___(___, ___, ___) AS violation_location,
-- Replace 'P-U' with 'TRK' in vehicle_body_type column
___(___, ___, ___) AS vehicle_body_type,
-- Ensure only first letter capitalized in street_name
___(___) AS ___
FROM
parking_violation;