1

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

但是我有一些NULL值,我想显示为 0。我ISNULL在其他列上使用过,但无法在这一列上使用它,因为我不知道如何与 DATEPART 结合使用。

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

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

有人可以帮忙吗?

4

1 回答 1

1

解决此问题的正确方法是使用COALESCE语句将空值更改为 0。

尝试这样的事情

COALESCE(DATEPART(hour, tblCarerContract.ContractHours), 0) + (COALESCE(DATEPART(minute, tblCarerContract.ContractHours), 0) / 60.0) as ContractHours
于 2014-11-06T18:11:01.557 回答