Per essere indipendente dalla lingua e dalle impostazioni locali, dovresti utilizzare ISO 8601 YYYYMMDD
formato:funzionerà su qualsiasi sistema SQL Server con qualsiasi lingua e impostazione regionale in vigore:
SELECT
CAST(
CAST(year AS VARCHAR(4)) +
RIGHT('0' + CAST(month AS VARCHAR(2)), 2) +
RIGHT('0' + CAST(day AS VARCHAR(2)), 2)
AS DATETIME)