あなたは確かに全体の行を参照するが、*
を使用していないが、テーブル名使用してすることができます行のすべて列がない場合は
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
反対。真実ではない。 where mytable is null
は、行が定義されていないため、何も返されません(存在しないため)。少なくとも1つの列がnullであるあなたがwhere not (mytable is not null)
に同様の問題を使用する必要があります行を見つけるには、ここで説明されていますhttps://dba.stackexchange.com/q/143959/1822
ありがとうございました!あなたの答えはとても有益でした。 –