Aan de slagGa gratis aan de slag

Typen converteren MET behulp van een functie

Als je niet te veel ruimte wilt reserveren voor een bepaalde varchar-kolom, kun je de waarden eerst afkappen voordat je het type wijzigt.

Hiervoor kun je de volgende syntaxis gebruiken:

ALTER TABLE table_name
ALTER COLUMN column_name
TYPE varchar(x)
USING SUBSTRING(column_name FROM 1 FOR x)

Dit lees je zo: omdat je maar x tekens wilt reserveren voor column_name, moet je een SUBSTRING van elke waarde behouden, oftewel de eerste x tekens, en de rest weggooien. Zo passen de waarden binnen de varchar(x)-eis.

Deze oefening maakt deel uit van de cursus

Introductie tot relationele databases in SQL

Cursus bekijken

Oefeninstructies

  • Voer de voorbeeldcode ongewijzigd uit en let op de foutmelding.
  • Gebruik nu SUBSTRING() om firstname te verkleinen tot 16 tekens, zodat het type gewijzigd kan worden naar varchar(16).

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

-- Convert the values in firstname to a max. of 16 characters
ALTER TABLE professors 
ALTER COLUMN firstname 
TYPE varchar(16)
Code bewerken en uitvoeren