MSSQL 데이터 형식 변환하기 (CAST 및 CONVERT)

MSSQL 데이터 형식 변환하기 (CAST 및 CONVERT)

MS SQL 쿼리문을 작성하다 보면 형식 변환이 필요할 때가 자주 발생합니다. MS SQL에서는 CAST(), CONVERT() 함수를 제공하고 있습니다. CONVERT() 함수는 DATE 형식을 문자열 형식으로 변환할 때 주로 사용되는데 DATE 형식을 문자열로 변환할 때 문자열 스타일을 지정할 수 있어 주로 사용됩니다. 이전 포스트를 참고하시면 됩니다.


그럼 CAST() 함수에 대해서 알아보죠.

포스트 기준

– Microsoft SQL Server 2019

– SSMS 18.10

CAST() 함수 구문 (Syntax)

CAST ( expression AS data_type [ ( length ) ] )

사용 예제

1. 문자열 형식을 숫자 형식으로 변환

SELECT CAST('100' AS NUMERIC)
     UNION ALL
     SELECT CAST('200' AS NUMERIC(18,0))
     UNION ALL
     SELECT CAST('300' AS INT)
     UNION ALL
     SELECT CAST('400' AS SMALLINT)
문자열 형식을 숫자 형식으로 변환 예시 화면입니다.


2. 숫자 형식을 문자열 형식으로 변환

SELECT CAST(100 AS NVARCHAR)
     UNION ALL
     SELECT CAST(200 AS NVARCHAR(50))
     UNION ALL
     SELECT CAST(300 AS NCHAR)
     UNION ALL
     SELECT CAST(400 AS NCHAR(3))
숫자 형식을 문자열 형식으로 변환 예시 화면입니다.


3. DATE 형식을 문자열 형식으로 변환

SELECT CAST(GETDATE() AS NVARCHAR)
     UNION ALL
     SELECT CAST(GETDATE() AS NVARCHAR(50))
     UNION ALL
     -- DATE 형식을 문자열로 변환 할때는 주로 CONVERT() 함수를 사용합니다.
     -- 스타일 지정 가능 (20, 112)
     SELECT CONVERT(NVARCHAR, GETDATE(), 20)
     UNION ALL
     SELECT CONVERT(NVARCHAR, GETDATE(), 112)
DATE 형식을 문자열 형식으로 변환 예시화면입니다.


4. 쿼리문 예제

SELECT COL_1_NUM,   -- 숫자 형식 
            COL_2_CHAR,  -- 문자열 형식
            COL_1_NUM + CAST(COL_2_CHAR AS NUMERIC) AS '숫자',
            CAST(COL_1_NUM AS NVARCHAR) + COL_2_CHAR AS '문자열'
       FROM BS_DEMO_1
쿼리문 예제 예시 화면입니다.


이 글이 도움이 되셨다면 공유를 부탁드립니다. 다음 글에서 뵙겠습니다!

위로 스크롤