만약 text 타입의 a라는 컬럼을 smallint로 타입을 변경한다고 할 때 아래와 같은 에러가 납니다.
alter table test alter column a type smallint; -- 에러 발생 You might need to specify "USING a::smallint |
텍스트 또는 varchar에서 정수로의 자동 변환을 지원하지 않습니다. (즉, 정수로 예상하는 함수에 varchar를 전달하거나 varchar 필드를 정수로 할당 할 수 없습니다.) 따라서 ALTER TABLE ...을 사용하여 형변환에 대해 명시적으로 지정해야합니다.
alter table test alter column a type smallint using a::smallint; |
'DB > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] 전체 데이터베이스, 스키마, 테이블 목록 조회 (0) | 2016.12.08 |
---|---|
[PostgreSQL] 문자열 길이 구하기 (0) | 2016.12.07 |
[PostgreSQL] 컬럼 타입 변경시 에러 수정 방법 (text -> smallint) (0) | 2016.11.18 |
[PostgreSQL] first(), last() (0) | 2016.11.16 |
[PostgreSQL] ALTER (2) | 2016.11.03 |
[PostgreSQL] pg_hba.conf 설명 (0) | 2016.10.28 |