あなたは_http_requests.currentsheet
をチェックするAND
を使用する必要があります。 NULL
の場合は、<> ''
チェックの場合は常に真となり、逆の場合は真となります。
方法単純な例として、あなたは(psql
または任意のSQLクエリツールあなたが好きから)この種のもののデバッグを支援するために、テーブルずにSELECT文を使用することができます。
select ('' is not null or '' <> '') as empty_result,
(null is not null or null <> '') as null_result;
empty_result | null_result
--------------+-------------
t |
文字列が''
であれば、あなたはtrue
になります。文字列がnull
の場合、null
となります(これは、null
との比較がSQL oddies - select null = null;
の結果がnull
になるためです)。我々はand
でor
を交換するときに何が起こるか見てみましょう:
select ('' is not null and '' <> '') as empty_result,
(null is not null and null <> '') as null_result;
empty_result | null_result
--------------+-------------
f | f
ニート! X is not null and X <> ''
の場合、X
が''
またはnull
の場合、false
となります。
だから、フレーズへの道は、あなたが実際に欲しいものを行うにはselect文は次のとおりです。私はあなただけAND _http_requests.currentsheet <> ''
が必要
SELECT *
FROM PUBLIC._http_requests
WHERE _http_requests.currentsheet IS NOT NULL
AND _http_requests.currentsheet <> ''
AND _http_requests.session_id IS NOT NULL
AND _http_requests.http_referer IS NOT NULL;