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
'Study > Database' 카테고리의 다른 글
[SQLD 자격증] 2주 만에 턱걸이 합격 (0) | 2021.07.10 |
---|---|
관계형 데이터베이스 / 무결성(Integrity) (0) | 2020.12.03 |