在datetime列中插入NULL字段的问题

时间:2016-11-23 11:21:35

标签: sql datetime sql-server-2012 ssms isnull

我遇到以下此代码的问题。它给了我这个错误: 从字符串转换日期和/或时间时转换失败。

日期值实际上是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

1 个答案:

答案 0 :(得分:0)

尝试施放:

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

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