事實上,你可以參考一下整行,但不使用*
,但使用表名:
SELECT true
FROM myTable
WHERE name='myRow'
AND myTable IS NOT NULL;
的IS NOT NULL
操作上的行值返回true,如果該行的所有列不可空值。
下面的語句:
with mytable (col1, col2, col3) as (
values
(1,null,null),
(null,1,null),
(null,null,1),
(1,1,1)
)
select *
from mytable
where mytable is not null;
將返回:
col1 | col2 | col3
-----+------+-----
1 | 1 | 1
相反BTW。是不正確的。 where mytable is null
不會返回任何東西,因爲行的定義不會爲空(因爲它不會存在)。要查找行,其中至少一個欄爲空,你將需要使用where not (mytable is not null)
類似的問題在這裏描述:https://dba.stackexchange.com/q/143959/1822
謝謝!你的回答非常豐富。 –