在日期时间列中插入 NULL 字段的问题

issue inserting NULL field in datetime column

下面这段代码有问题。它给我这个错误: 从字符串转换日期 and/or 时间时转换失败。

日期值实际上为 NULL(不是文本 NULL)并且日期的格式为 2016-12-02。

任何人都知道如何解决这个问题,尝试过使用强制转换并转换为日期时间,这没有用....

select  PersonalID
    ,[LeaveDate] as [LeaveDate]
into 
    #temp1
from (SELECT
         [staffid] as PersonalID
         ,[leaving_d] as [LeaveDate]
     FROM 
         rcmsql4.[SSTRESS].[dbo].[vwGetStaffDetails]
     UNION ALL
     SELECT 
         [StudentId] as PersonalID
         , NULL
     FROM 
         rcmsql4.[SSTRESS].[dbo].[vwGetResearchStudentDetails]) x
GROUP BY
    PersonalID
    ,[LeaveDate]


INSERT INTO [dbo].[STG1StaffProfiles]
           ([PersonalID]
           ,[LeaveDate] --datetime field)
    select * from #temp1

尝试投射:

 INSERT INTO [dbo].[STG1StaffProfiles]
       ([PersonalID]

       ,[LeaveDate] --datetime field
      )
SELECT [PersonalID],CAST(COALESCE([LeaveDate],'01-01-1999') as DATE)
FROM #temp1