文字列をチェックしているときに空の文字列が表示されるため、問題が発生します。
select q'['' = '']' , case when '' = '' then 'YES' else 'NO' end from dual union all
select q'['' is null]' , case when '' is null then 'YES' else 'NO' end from dual union all
select q'['' = null ]' , case when '' = null then 'YES' else 'NO' end from dual union all
select q'[null = null]' , case when null = null then 'YES' else 'NO' end from dual union all
select q'[null is null]' , case when null is null then 'YES' else 'NO' end from dual union all
select q'['' != '']' , case when '' != '' then 'YES' else 'NO' end from dual union all
select q'['' is not null]' , case when '' is not null then 'YES' else 'NO' end from dual union all
select q'['' != null ]' , case when '' != null then 'YES' else 'NO' end from dual union all
select q'[null != null]' , case when null != null then 'YES' else 'NO' end from dual union all
select q'[null is not null]', case when null is not null then 'YES' else 'NO' end from dual
ができます::Oracleは、あなたがもっと何か
例を見つけるhere、空の文字列とヌルを扱う方法について
SELECT CASE WHEN '7C54D3E133830A78E040A8C010014B7D' is not null
THEN '7C54D3E133830A78E040A8C010014B7D'
WHEN 'e84a4433966c4b8996ce34905acff63d' is not null
THEN 'e84a4433966c4b8996ce34905acff63d'
WHEN '7faa9126b1c6412fa58375ab2b2be1db' is not null
THEN '7faa9126b1c6412fa58375ab2b2be1db'
ELSE NULL
END
FROM DUAL
:オラクルでは、あなたはより良いis not null
あなたの文字列の場合を確認したいです
'' = '' NO
'' is null YES
'' = null NO
null = null NO
null is null YES
'' != '' NO
'' is not null NO
'' != null NO
null != null NO
null is not null NO
つまり、 NULL
を話すときに頼り、次のとおりです。 IS [NOT] NULL
このクエリを使用していますか、または出力を正しく読み込んでいますか? –
はい、出力はnullです。 この問合せは実際にはデバッグされた挿入問合せからのものですが、常にnull値が挿入されるため、私はそれをカットしてselectクエリで実行します。nullを返します。 – deckamaha
Oracleには空の文字列はありません。 ' –