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)
![문자열 형식을 숫자 형식으로 변환 예시 화면입니다.](https://bluesharehub.com/wp-content/uploads/2022/02/img_1-16.png)
![문자열 형식을 숫자 형식으로 변환 예시 화면입니다.](https://bluesharehub.com/wp-content/uploads/2022/02/img_1-16.png)
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))
![숫자 형식을 문자열 형식으로 변환 예시 화면입니다.](https://bluesharehub.com/wp-content/uploads/2022/02/img_2-13.png)
![숫자 형식을 문자열 형식으로 변환 예시 화면입니다.](https://bluesharehub.com/wp-content/uploads/2022/02/img_2-13.png)
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 형식을 문자열 형식으로 변환 예시화면입니다.](https://bluesharehub.com/wp-content/uploads/2022/02/img_3-11.png)
![DATE 형식을 문자열 형식으로 변환 예시화면입니다.](https://bluesharehub.com/wp-content/uploads/2022/02/img_3-11.png)
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
![쿼리문 예제 예시 화면입니다.](https://bluesharehub.com/wp-content/uploads/2022/02/img_4-9.png)
![쿼리문 예제 예시 화면입니다.](https://bluesharehub.com/wp-content/uploads/2022/02/img_4-9.png)
이 글이 도움이 되셨다면 공유를 부탁드립니다. 다음 글에서 뵙겠습니다!