Začněte nyníZačněte zdarma

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

Zobrazit kurz

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í sloupce firstname na 16 znaků, aby bylo možné změnit jeho typ na varchar(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)
Upravit a spustit kód