반응형
PRINT ('TIME : ' + SYSDATETIME());
이 쿼리를 실행하면 위와 같은 오류가 난다.
오류가 나는 이유는 '소요시간' 은 데이터타입이 문자인 varchar 이고, SYSDATETIME() 은 시간인 datetime2 인데 이 두 개를 + 라는 연산자로 연결해주려하여 오류가 난 것이다. (*GETDATE() 도 마찬가지)
이 오류를 해결하기 위해서는 데이터타입을 맞춰주어야 한다.
즉, SYSDATETIME() 을 CONVERT 함수를 통해 문자열함수로 바꿔주면 된다 :)
일자를 변환하는 방식은 무수히 많지만, 나는 CONVERT(VARCHAR(23), DATETIME, 21) 형식을 이용하겠다.
아래와 같이 변경해서 실행하면,
PRINT ('TIME : ' + CONVERT(VARCHAR(23), SYSDATETIME(), 21));
위와 같은 결과를 얻을 수 있다 :)
반응형