假设我有一个包含以下列的 Products 表:
ID | 姓名 | 描述 | 价格 | 瓦鲁塔 | 折扣 | 添加日期 |
---|
Description
, Discount
, 和DateAdded
都可以为 NULL,我正在寻找一种更快/更好的方法来选择所有行,其中没有一个为 NULL(除了IS NOT NULL
在所有这些列上运行),我遇到了DATALENGTH()
. 我的陈述现在看起来有点像这样:
SELECT *
FROM Products
WHERE DATALENGTH(Description) + DATALENGTH(Discount) + DATALENGTH(DateAdded) > 0
据我了解,这是可行的,因为它DATALENGTH()
接受所有类型的参数,并且即使等式中出现一个 NULL,整行都会被忽略。
我现在唯一的问题是这是否是检查 NULL 的好方法。我找不到任何人使用它的案例,因此我非常感谢您对此的任何意见。