반응형
MSSQL에서 지원되는 CAST 함수는 CONVERT 함수와 같게 데이터 타입 변환할 때 사용되는 함수입니다.
CAST 함수 특징
- CAST 함수는 하나의 유형에서 다른 타입으로 데이터를 변환하는 데 사용됩니다.
- 문자열을 숫자로 변환하거나 날짜 형식을 다른 형식으로 변환할 때 유용하게 사용하고 있습니다.
- CAST 함수는 간단하게 데이터 형식을 변환하는 데 주로 사용됩니다.
CAST 함수 사용법 및 설명
CAST 함수 구문.
CAST( expression AS data_type [(length)])
- data_type : 데이터를 변환하려는 데이터 타입입니다.
- length : 반환되는 데이터 타입의 길이입니다.
- expression : 변환하는 실제 데이터 또는 필드입니다.
data type 변경 방법.
- CAST 함수 이용하여 문자열을 숫자로 변환 방법입니다.
-- UserInfoForCast
DROP TABLE IF EXISTS UserInfoForCast;
CREATE TABLE dbo.UserInfoForCast
(
EmpID SMALLINT,
EmpName NVARCHAR(40),
InputDate VARCHAR(8),
DeptID INT,
WriteDate datetime
);
INSERT INTO UserInfoForCast VALUES
(110,'Jessica','20240101','10',getdate()),
(111,'Alicia','20240301','10',getdate()),
(120,'Michael','20240401','20',getdate()),
(121,'Alicia','20240914','20',getdate()) ;
--CAST 함수 이용하여 문자열을 숫자로 변환 방법.
SELECT CAST(EmpID AS INT) AS EmpID
FROM UserInfoForCast;
- CAST 함수 이용하여 날짜를 문자열로 변환 방법입니다.
--CAST 함수 이용하여 날짜를 문자열로 변환 방법.
SELECT CAST(WriteDate AS VARCHAR) AS EmpID
FROM UserInfoForCast;
- CAST에 산술 연산자 사용법.
--CAST에 산술 연산자 사용법.
SELECT CAST(ROUND(EmpID / DeptID, 0) AS INT) AS clacColumn
FROM UserInfoForCast;
- CAST를 사용하여 문자열 연결 방법.
--CAST를 사용하여 문자열 연결 방법.
SELECT 'The CAST name is ' + CAST(EmpName AS VARCHAR(12)) AS ListPrice
FROM dbo.UserInfoForCast
- CAST에 형식화된 XML 사용.
--CAST에 형식화된 XML 사용.
SELECT CAST('<root><child/></root>' AS XML);
데이터 형식 간 변환 시 주의 사항
변환 가능한지 data인지 확인.
- 문자열을 숫자로 변환할 때 숫자로만 구성되어 있는지 data를 확인 후 사용해야 합니다.
- 문자가 있는 경우는 에러가 발생합니다.
날짜와 시간 변환 시 확인.
- 날짜와 시간을 변환할 때는 형식을 정확히 확인하고 변환해야 합니다.
문자열 변환 시 데이터 손실 확인.
- 문자열을 변환할 때는 길이를 확인하고 잘라내거나 최대길이를 확인해 주세요.
- 문자열을 다른 데이터 형식으로 변환할 때는 인코딩과 문자 집합을 고려해야 해야 데이터 손실을 방지할 수 있습니다.
NULL Data로 인해 에러 발생.
- data 중에 null 값을 어떻게 처리할지 결정해야 합니다.
- 처리 방법을 설정하지 않는 경우 변환 중 에러가 발생하는 경우가 많습니다.
CAST 함수의 성능 저하를 발생하는 요인.
- 대량의 데이터 집합을 변환해야 하는 경우 성능 저하가 발생합니다.
- CAST 함수를 사용하는 쿼리의 인덱스 및 최적화 상태도 성능에 영향을 줘 속도가 Database에 부하가 발생할 수 있습니다.
- 빈번한 호출은 부하를 초래할 수 있으므로 CAST 함수를 자주 호출하는 쿼리는 주의해서 사용해야 합니다.
반응형