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)
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
함께 보면 좋은 게시글
- MSSQL CONVERT 날짜 및 시간 스타일 (datetime to string)
- MSSQL 특정일 요일 구하기 (DATENAME, DATEPART)
- MSSQL 천단위 콤마, 숫자 채우기, 통화 표시 방법 (FORMAT)
- MSSQL 문자열 자르기 (LEFT, SUBSTRING, RIGHT) – 문자열 함수 (2)
- MSSQL NULL 체크(조회) IS 연산자, 대체(치환) ISNULL 함수 (WHERE 절)
이 글이 도움이 되셨다면 공유 부탁 드립니다.


![[SSMS] 로컬 서버(PC)에 설치한 MSSQL 서버 연결하는 방법](https://bluesharehub.com/wp-content/uploads/2022/02/img_41.png)
