함수를 사용해 타입 변환하기 USING
특정 varchar 열에 너무 많은 공간을 할당하고 싶지 않다면, 타입을 변환하기 전에 값을 잘라서(truncate) 줄일 수 있어요.
이를 위해 다음 구문을 사용할 수 있어요:
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)