Convertirea tipurilor USING o funcție
Dacă nu vrei să rezervi prea mult spațiu pentru o anumită coloană de tip varchar, poți trunchia valorile înainte de a-i converti tipul.
Pentru aceasta, poți folosi următoarea sintaxă:
ALTER TABLE table_name
ALTER COLUMN column_name
TYPE varchar(x)
USING SUBSTRING(column_name FROM 1 FOR x)
Citește-o astfel: deoarece vrei să rezervi doar x caractere pentru column_name, trebuie să păstrezi un SUBSTRING din fiecare valoare, adică primele x caractere ale acesteia, și să elimini restul. Astfel, valorile vor respecta cerința varchar(x).
Acest exercițiu face parte din cursul
Introducere în baze de date relaționale în SQL
Instrucțiuni pentru exercițiu
- Rulează codul exemplu ca atare și reține eroarea apărută.
- Acum folosește
SUBSTRING()pentru a reducefirstnamela 16 caractere, astfel încât tipul său să poată fi modificat lavarchar(16).
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
-- Convert the values in firstname to a max. of 16 characters
ALTER TABLE professors
ALTER COLUMN firstname
TYPE varchar(16)