在日期时间列中插入 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
下面这段代码有问题。它给我这个错误: 从字符串转换日期 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