DBMS/SQL Server (MS-SQL)

[SQL Server / MS-SQL] Error - The data types varchar and datetime2 are incompatible in the add operator.

RYEAN 2019. 9. 30. 13:55
반응형

 

 


 

 

The data types varchar and datetime2 are incompatible in the add operator.

 

 

PRINT ('TIME : ' + SYSDATETIME());

 

이 쿼리를 실행하면 위와 같은 오류가 난다.

 

오류가 나는 이유는 '소요시간' 은 데이터타입이 문자인 varchar 이고, SYSDATETIME() 은 시간인 datetime2 인데 이 두 개를 + 라는 연산자로 연결해주려하여 오류가 난 것이다.  (*GETDATE() 도 마찬가지)

 

이 오류를 해결하기 위해서는 데이터타입을 맞춰주어야 한다.

즉, SYSDATETIME() 을 CONVERT 함수를 통해 문자열함수로 바꿔주면 된다 :)

 

일자를 변환하는 방식은 무수히 많지만, 나는 CONVERT(VARCHAR(23), DATETIME, 21) 형식을 이용하겠다.

아래와 같이 변경해서 실행하면,

 

PRINT ('TIME : ' + CONVERT(VARCHAR(23), SYSDATETIME(), 21));

 

 

위와 같은 결과를 얻을 수 있다 :)

 

 

 

반응형