問題タブ [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.

0 投票する
1 に答える
1041 参照

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 に関するコメントがあったため、関数定義全体を提供します。ギリシャ語でアクセントと大文字と小文字を区別しないように変更されました。