USER MANUALS

リテラルの比較

text 値の比較では大文字と小文字が区別されます。つまり、 ORDER BY 句の中で演算子 =<><><= および >= を使用してリテラルを比較する際に、 text 型の値を使用して結合条件を評価する場合などでは、大文字と小文字が考慮されます。

実行エンジンは、リテラルを比較する条件をデータソースにプッシュダウンする場合、ソースで (実行エンジンと同様に) 大文字と小文字を区別した比較が実行されるものと仮定しています。実際はそうではない場合 (ソースが Microsoft SQL Server である場合など)、結果は間違っている可能性があります。ソースで大文字と小文字を区別せずに比較が実行されることが既知である場合、クエリで UPPER 関数または LOWER 関数を使用してリテラルを比較します。

  SELECT count(*) as satisfied_customers_count
  FROM customer_satisfaction_form
  WHERE UPPER (satisfied) = 'Y';

The Execution Engine does not push down these functions automatically to the sources because it would significantly make all the queries to these types of sources slower.
Add feedback