ПочатиПочніть безкоштовно

Перетворюйте типи за допомогою функції USING

Якщо ви не хочете відводити забагато місця для певного стовпця типу varchar, можна спершу скоротити (truncate) значення перед зміною типу.

Для цього скористайтеся такою конструкцією:

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

Логіка така: оскільки ви хочете відвести лише x символів для column_name, слід лишити SUBSTRING кожного значення — тобто перші x символів — і відкинути решту. Так значення відповідатимуть обмеженню varchar(x).

Ця вправа є частиною курсу

Вступ до реляційних баз даних у SQL

Переглянути курс

Інструкції до вправи

  • Запустіть зразок коду як є та зверніть увагу на помилку.
  • Тепер використайте SUBSTRING(), щоб скоротити firstname до 16 символів, аби потім змінити його тип на varchar(16).

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

-- Convert the values in firstname to a max. of 16 characters
ALTER TABLE professors 
ALTER COLUMN firstname 
TYPE varchar(16)
Редагувати та запускати код