0
なぜ(7.2)ネティーザでNetezzaの列比較(スペースとスペースなし)
select 'xyz' = 'xyz '
リターン本当?私は空白文字列と空白文字列とは異なる文字列を考慮する比較ロジックを構築しようとしていますが、この動作のために動作しません。
なぜ(7.2)ネティーザでNetezzaの列比較(スペースとスペースなし)
select 'xyz' = 'xyz '
リターン本当?私は空白文字列と空白文字列とは異なる文字列を考慮する比較ロジックを構築しようとしていますが、この動作のために動作しません。
この動作は、ANSI SQL-92述語比較規則に従います。文字列は、比較の前にスペースを入れて同じ長さにする必要があります。
この現象を回避するには、 "="の代わりに "LIKE"を使用するか、 "="比較にlength()チェックを追加します。
select 'match' where 'xyz' = 'xyz ';
?COLUMN?
----------
match
(1 row)
select 'match' where 'xyz' like 'xyz ';
?COLUMN?
----------
(0 rows)
select 'match' where 'xyz' = 'xyz ' and (length('xyz') = length('xyz '));
?COLUMN?
----------
(0 rows)