본문 바로가기

프로그래밍/MSSQL

[MSSQL] CONVERT, CAST 형변환 함수

반응형

 

 

형 변환 함수 CONVERT와 CAST에 대해 알아보자

 

 

CAST

CAST(유효한식 AS 데이터형식(길이))

CAST( expression AS data_type( length ) )

 

SELECT 29.8 -- 결과 : 29.8
SELECT CAST(29.8 AS INT) -- 결과 : 29

 

29.8을 INT 형으로 변환하면 정수형인 29이 결과로 출력된다.

 

 

SELECT 3 + 'age' -- Error 발생
SELECT CAST(3 AS VARCHAR) + 'age' -- 결과 : 3age

 

1. 첫 번째 INT 타입의 3과 VARCHAR 타입의 'age'를 합치려 하니

Conversion failed when converting the varchar value 'age' to data type int.

다음과 같은 오류가 발생하게 된다.

 

2. CAST 함수를 이용해 3을 VARCHAR로 변환하면 문자열 3과 age가 합쳐셔 3age라는 결과가 출력된다.

 

 

 

 

 

 

CONVERT

CONVERT( 데이터형식 [ ( 길이 ) ] , 유효한식 [ , 스타일 ] )

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

 

 

SELECT 29.8 -- 결과 : 29
SELECT CONVERT(INT, 29.8) -- 결과 : 29

 

위의 CAST 함수에서와 동일하게 29.8을 INT형으로 변환하여 정수형 29를 출력했다.

 

 

SELECT GETDATE() -- 결과 : 2018-08-06T06:10:48.073Z
SELECT CONVERT(VARCHAR, GETDATE(), 23) -- 결과 : 2018-08-06

 

날짜 함수 GETDATE()를 스타일을 줘서 yyyy-MM-dd의 형태로 변환해 보았다.

기타 다른 스타일별 날짜 형식은 다음 글을 참고하자.

 

 

 

[MSSQL] 날짜 변환표 CONVERT, GETDATE() 날짜 형식 포맷 변경
[MSSQL] VARCHAR 타입의 날짜를 DATETIME으로 변경 (날짜변환, 시간변환)
[MSSQL] 돈 금액 천단위 콤마 찍기
[MSSQL] 월 말일 날짜 가져오기

 

 

반응형