問題タブ [accent-insensitive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - unaccent() が plpgsql 動的クエリでギリシャ文字を処理できない
私は PostgreSQL 10 を使用しており、CREATE EXTENSION unaccent;
正常に実行されています。次を含むplgsql関数があります
whereText := 'lower(unaccent(place.name)) LIKE lower(unaccent($1))';
後で、ユーザーの選択に応じて、より多くの句が に追加される場合がありますwhereText
。
はwhereText
最終的にクエリで使用されます。
パーツwhereText := 'LOWER(unaccent(place.name)) LIKE LOWER(unaccent($1))';
を外しても動かない。LOWER
select __my_function('Τζι');
データベースには名前があるため、結果が返されるはずですが、何も返されませんΤζίμα
を削除してunaccent
そのままにしておくLOWER
と機能しますが、アクセントでは機能しません。τζ
本来のΤζίμα
状態に戻ります。unaccent
が問題を引き起こしているようです。
私は何が欠けていますか?どうすればこれを修正できますか?
構文と可能性のある SQLi に関するコメントがあったため、関数定義全体を提供します。ギリシャ語でアクセントと大文字と小文字を区別しないように変更されました。