MSSQL 데이터 형식 변환 함수 사용하는 방법(CAST, CONVERT)
MSSQL에서 입력된 데이터 형식을 다른 데이터 형식으로 변환해야 할 때가 종종 있다.
이럴 때 사용할 수 있는 함수가 바로 CAST함수 CONVERT함수이다.
두 함수 다 사용하는 방식만 조금 다를뿐 다른 데이터 형식으로 변환하는데 사용된다.
두 함수의 차이점은 CONVERT 함수에는 CAST 함수에 없는 스타일을 정의할 수 있는 기능이 있다.
Cast 함수
Cast 함수 사용하는 방법
CAST ( expression AS data_type [ ( length ) ] )
expression : 유효한 식이다.
data_type : 대상 데이터 형식으로 별칭 데이터 형식은 사용할 수 없다.
length : 대상 데이터 형식의 길이를 지정하는 선택적 정수로 기본값은 30 이다.
Cast 함수 사용 예제
SELECT CAST(10.3 AS int)
10
10.3을 int 형식으로 변환하여 10 이 출력된다.
SELECT CAST(5 AS varchar) + 'BOX'
5BOX
int 형식의 5 을 CAST 함수를 사용하여 varchar 형식으로 변환하면 문자열인 'BOX'와 합쳐서 '5BOX'를 출력할 수 있다.
SELECT 5 + 'BOX'
varchar 값 'BOX'을(를) 데이터 형식 int(으)로 변환하지 못했습니다.
int 형식의 5와 vachar 형식의 'BOX' 합치려 하면 위와 같이 형식이 달라 오류가 발생하게 된다.
* '+'의 의미
'+'는 일반적으로 더하기의 의미를 가지고 있으나 문자열의 경우 더하기가 아닌 문자열 합치기의 역활을 한다.
즉 숫자 + 숫자 는 더하기를 하지만 문자열 + 문자열 는 더하기가 아닌 CONCAT 함수인 문자열 합치기 역활을 한다.
CONVERT 함수
CONVERT 함수 사용하는 방법
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
data_type : 대상 데이터 형식으로 별칭 데이터 형식은 사용할 수 없다.
length : 대상 데이터 형식의 길이를 지정하는 선택적 정수로 기본값은 30 이다.
expression : 유효한 식이다.
style : CONVERT 함수가 식을 변환하는 방법을 지정하는 정수 식으로 NULL 스타일 값은 NULL을 반환한다.
style 은 생략할 수 있으며, 생략하지 않고 사용하고자 하는 경우에는 datetime, float, real, money,
smallmoney, xml, binary, char, varbinary, varchar에서 사용할 수 있다.
* style입, 출력에 대한 보다 자세한 사항은 마이크로소프트에서 제공하는 문서에서 참조하면 된다.
(https://docs.microsoft.com/ko-kr/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017)
CONVERT 함수 사용 예제
SELECT CONVERT(int, 10.3)
10
CAST 함수와 동일하게 10.3을 int 형식으로 변환하여 10 이 출력할 수 있다. 또한 style 은 생략할 수 있다.
SELECT CONVERT(CHAR(19), GETDATE(), 20)
2019-07-29 17:27:41
CONVERT 함수를 사용하면 다양한 날짜 형식을 우리가 원하는 형태로 변경하여 출력 할 수 있다.
* 날짜 형식 변경의 더 자세한 사항은 [MSSQL CONVERT 함수 사용하여 다양한 날짜 형식 표현하기] 포스트에서 확인 가능하다.
2019/07/29 - [Database/MSSQL] - MSSQL CONVERT 함수 사용하여 다양한 날짜 형식 표현하기
'Database > MSSQL' 카테고리의 다른 글
MSSQL 날짜 함수 사용하는 방법(GETDATE,DATEADD,DATEPART,DATEDIFF) (0) | 2019.07.30 |
---|---|
MSSQL CONVERT 함수 사용하여 다양한 날짜 형식 표현하기 (0) | 2019.07.29 |
MSSQL LOCK 해결하는 방법 (0) | 2019.07.29 |
MSSQL 데이터베이스 접속자 및 연결 정보 확인하는 방법 (0) | 2019.07.26 |
MSSQL JOIN 사용하는 방법 (0) | 2019.07.25 |