[DB] 단일행 내장 함수: 변환형

젠니·2023년 5월 27일
0

데이터베이스

목록 보기
11/21

4. 변환형 함수

CAST() 함수

특정 데이터 타입을 다른 데이터 타입으로 변환한다.

Format

CAST(expr AS datatype);

Example

SELECT 	CONCAT('Date: ', CAST(NOW() AS DATE));

먼저 NOW()의 return값은 DATETIME 타입이다. 이걸 DATE 타입으로 CAST 했으니, DATE로만 바꾸고 TIME은 버리겠다는 의미이다.

그리고, 이것의 출력물은 맥락상 문자형/숫자형으로 결정되는데, CONCAT이 Str+Str 이니까 문자형으로 바꿔준다.

SELECT 	TEAM_ID, ZIP_CODE1, ZIP_CODE2,
        CONCAT(ZIP_CODE1, '-', ZIP_CODE2) AS 우편번호,
        CAST(ZIP_CODE1 AS UNSIGNED) + CAST(ZIP_CODE2 AS UNSIGNED)
        AS 우편번호합
FROM 	TEAM;

만약 CONCAT(ZIP_CODE1, '-', ZIP_CODE2)가 에러없이 출력된다면, ZIP_CODE1과 ZIP_CODE2가 문자열이라는걸 알 수 있다.

CAST(ZIP_CODE1 AS UNSIGNED)는 정수로 변환하라는 뜻이다.

CONVERT() 함수

CAST()와 표현만 다르다.

Format

CONVERT(expr, datatype);

Example

SELECT 	CONVERT(NOW(), DATE); /* DATETIME을 DATE로 변환 */

두 함수에서 변환할 데이터 타입으로 아래 타입만 허용한다.

  • 숫자형
    - SIGNED [INTEGER], UNSIGNED [INTEGER]
    - REAL, DOUBLE, FLOAT, DECIMAL
  • 문자형
    - CHAR, CHAR(n)
  • 이진 문자형
    - BINARY, BINARY(n)
  • 날짜형
    - DATE, TIME, DATETIME
profile
젠니의 개발 라이푸우

0개의 댓글