Převod typů pomocí funkce
Pokud nechceš pro určitý sloupec typu varchar rezervovat příliš mnoho místa, můžeš hodnoty před převodem typu zkrátit.
K tomu slouží následující syntaxe:
ALTER TABLE table_name
ALTER COLUMN column_name
TYPE varchar(x)
USING SUBSTRING(column_name FROM 1 FOR x)
Čti to takto: protože chceš pro column_name rezervovat pouze x znaků, musíš z každé hodnoty ponechat jen SUBSTRING – tedy prvních x znaků – a zbytek zahodit. Tím zajistíš, že hodnoty budou splňovat požadavek varchar(x).
Toto cvičení je součástí kurzu
Introduction to Relational Databases in SQL
Pokyny k cvičení
- Spusť ukázkový kód tak, jak je, a všimni si chybové hlášky.
- Teď použij
SUBSTRING()k oříznutí sloupcefirstnamena 16 znaků, aby bylo možné změnit jeho typ navarchar(16).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- Convert the values in firstname to a max. of 16 characters
ALTER TABLE professors
ALTER COLUMN firstname
TYPE varchar(16)