postgresql 형식 전환 시 발생하는 문제

2081 단어 postgreSQL
postgres=# alter table test alter config type jsonb;
ERROR:  column "config" cannot be cast automatically to type jsonb 
HINT:  Specify a USING jsonb to perform the conversion.

이전의 config 필드 형식은 hstore였는데 어떻게 전환할 수 있습니까? 다음과 같은 세 가지 방식은 모두 가능합니다. 첫 번째는
alter table test alter config type jsonb using config::jsonb;

제2종
alter table test alter config type jsonb using(config::jsonb);

제3종
alter table test alter config type jsonb using cast(config as jsonb);

#test case
select cast('12' as int);
select '12'::int;

만약에 int 형식이 varchar로 변경되면 표시하지 않는using 방식으로 변경할 수 있다. 이것은 유형의 강약과 관계가 있다. 예를 들어 5/2.0은 사실 컴퓨터가 5를 2.0과 같은 부동점 형식으로 먼저 돌린 다음에 나눗셈을 한다. 만약에 5/2.0을 정수로 얻으려면 다음과 같다. (int) 5/2.0을 얻을 수 있다.주: 5/2.0의 유형 전환은 C 언어의 예이다

좋은 웹페이지 즐겨찾기