Study/Database

[PostgreSQL] 형 변환(Type Casts)

개발개발개발 2022. 8. 24. 10:46

PostgreSQL은 두 가지의 형 변환 구문을 허용한다. 

 

CAST()

SQL 표준인 CAST() 이다. 

CAST (expression AS type)

-- 예
CAST(1234 AS TEXT)			-- 숫자를 문자로 변환
CAST('16.35' AS FLOAT)		-- 문자를 float 형으로 변환
CAST('2022-08-24' AS DATE)	-- 문자를 날짜형으로 변환
CAST('15 minute' AS INTERVAL)	--문자를 인터벌 형식으로 변환

 

 

Expression :: type

PostgreSQL에서 지원하는 :: 방식이다. 

 

expression::type

-- 예
3576::TEXT				-- 숫자를 문자형으로 변환
'178.4'::DOUBLE PRECISION	-- 문자를 더블형으로 변환
'true'::BOOLEAN			-- 문자를 참거짓으로 변환
'T'::BOOLEAN				-- 문자를 참거짓으로 변환

 

적절한 타입 변환 작업이 정의된 경우에만 캐스팅에 성공한다. 

 

 

함수형 구문 typename(expression)

DOUBLE(3576)	--타입 변환 에러
FLOAT8(3576)	-- 성공
TEXT(3576)	-- 성공

 

이 방식은 유효한 유형에만 정상적으로 동작한다. 

interval, time, timestamp 형은 구문 충돌로 인해 큰따옴표로 묶인 경우에만 사용할 수 있다. 

이 방식은 함수 호출에 불과하며 실행될 때 등록된 함수를 호출하게된다. 

 

 

 

 

 

 

 

 

 

 

참고 : https://www.postgresql.org/docs/current/sql-expressions.html#SQL-SYNTAX-TYPE-CASTS