Сервер sql получает конкатенированные значения двух разных типов данных столбцов

Вам нужна ваша экспертная помощь в построении sql-запроса для конкатенированных значений двух разных типов данных столбцов (сначала это дата и второй столбец int)

select (LOCKER.AGRMNT_DATE + cast(LOCKER.AGRMNT_MTHS as varchar)) as AGRMNT_DUE_DATE from tableName

Это вызывает ошибку:

Msg 402, Level 16, State 1, Procedure usp_sample, Line 52 The data types date and varchar are incompatible in the add operator.

1 ответ

select (CAST(LOCKER.AGRMNT_DATE AS VARCHAR) + cast(LOCKERREG.AGRMNT_MTHS as varchar)) as AGRMNT_DUE_DATE from tableName

Простой тест:

DECLARE @testDate DATE = GETDATE();
DECLARE @testInt INT = 1;
SELECT CAST(@testDate AS VARCHAR) + CAST(@testInt AS VARCHAR);

Результат: 2015-02-161

licensed under cc by-sa 3.0 with attribution.