您可以通过三种方式检查行中是否为非NULL值:
COALESCE(col1, col2, col3) IS NOT NULL
col1 IS NOT NULL OR col2 IS NOT NULL OR col3 IS NOT NULL
ISNULL(col1, ISNULL(col2, ISNULL(col3, NULL))) IS NOT NULL
您可以使用Microsoft SQL Server Management Studio来比较多个查询。
比较结果:
COALESCE
对比IS NOT NULL
:57%至43%COALESCE
与ISNULL
:56%至44%IS NOT NULL
与ISNULL
:49%至51%
因此,使用
IS NOT NULL最快的方法来检查行是否具有不带NULL值的列。在可读性的情况下,
COALESCE可以比a
IS NOTNULL或
ISNULL比较短得多。您可以在可读性和速度之间做出选择。



