Ответ 1
Zero - 01 jan 1900 в SQL, поэтому вы можете использовать это:
DATEADD(day, @dayval-1,
DATEADD(month, @monthval-1,
DATEADD(year, @yearval-1900, 0)
)
)
Как я могу конвертировать день [1-31] и месяц [1-12] и год (весь int), в последовательный порт даты IN SQL (без преобразования в varchar)?
Zero - 01 jan 1900 в SQL, поэтому вы можете использовать это:
DATEADD(day, @dayval-1,
DATEADD(month, @monthval-1,
DATEADD(year, @yearval-1900, 0)
)
)
В SQL Server 2012 добавлено несколько функций, которые позволят вам сделать это с помощью DATEFROMPARTS, DATETIMEFROMPARTS и TIMEFROMPARTS среди других.
Пример:
SELECT DATEFROMPARTS(2018,2,1) -- returns 2018-02-01