如何在使用DATEPART时处理NULL值?

时间:2014-11-06 18:04:04

标签: sql-server-2008-r2 isnull datepart

我正在使用SQL 2008 R2,并且在我的一个选择行中使用了DATEPART,这会根据时间将日期和时间列转换为小数。

但我有一些NULL值,我希望显示为0.我在其他列上使用过ISNULL但是无法在此列上使用它,因为我不知道如何与DATEPART一起完成。

请参阅下面我使用datepart的地方,但也想将空值更改为0。

DATEPART(hour, tblCarerContract.ContractHours) + (DATEPART(minute, tblCarerContract.ContractHours) / 60.0) as ContractHours

请有人帮忙吗。

1 个答案:

答案 0 :(得分:1)

正确的方法是使用COALESCE语句将空值更改为0.

尝试这样的事情

COALESCE(DATEPART(hour, tblCarerContract.ContractHours), 0) + (COALESCE(DATEPART(minute, tblCarerContract.ContractHours), 0) / 60.0) as ContractHours