НачатьНачать бесплатно

Преобразование типов с помощью функции

Если вы не хотите резервировать слишком много места для столбца типа varchar, можно усечь значения перед преобразованием типа.

Для этого используйте следующий синтаксис:

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

Читайте это так: поскольку вы хотите зарезервировать для column_name только x символов, нужно оставить 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)
Редактировать и запускать код