SQLアクションでひらがな・カタカナ・全角半角の区別せずデータ取得
2020-01-29 09:53
タイトルの通りですが、SQLアクションでひらがなカタカナ・全角半角・大文字小文字などの区別をせずにデータ取得を行うにはどうしたらよいのでしょうか。
回答を投稿するにはログインが必要です。
自身で試行錯誤した結果、Yexiongmao様と同じ方法にたどり着きました。
お二方ともご回答ありがとうございました。
これからもよろしくお願いいたします。
お二方ともご回答ありがとうございました。
これからもよろしくお願いいたします。
『collate utf8_unicode_ci』を使って、全角ひらがな、全角カタカナ、半角カタカナの
抽出はできるようですが、SQLアクション(SQL-92)では使えないようです。
ちなみにMySQLはアルファベット大文字小文字は区別してなさそうです。
シート上で、入力値を全角ひらがな、全角/半角カタカナでそれぞれ変換して、ORでつなぐという方法が1つ考えられます。
抽出はできるようですが、SQLアクション(SQL-92)では使えないようです。
ちなみにMySQLはアルファベット大文字小文字は区別してなさそうです。
シート上で、入力値を全角ひらがな、全角/半角カタカナでそれぞれ変換して、ORでつなぐという方法が1つ考えられます。
ベストアンサー
こんにちは。
おそらく検索時の文字列という意味だと思いますが、CELFのSQLでは、デフォルト(utf8_general_ci)で大文字・小文字の区別はしません。全角・半角に関しては、シート関数のASC()、JIS()で相互変換できますので、それを使うとして、ひらがなカタカナ変換は諦めることにしましょう。(変換テーブルを作ってやってやれないことも無いとは思いますが、事実上面倒すぎます。)
図のような方法でひらがなカタカナ以外の検索には対応しますが、検索元データが全角半角混じりまでは対応できません。
SELECT文の中でCOLLATIONの設定ができれば良いのですが、エラーになるようです。
おそらく検索時の文字列という意味だと思いますが、CELFのSQLでは、デフォルト(utf8_general_ci)で大文字・小文字の区別はしません。全角・半角に関しては、シート関数のASC()、JIS()で相互変換できますので、それを使うとして、ひらがなカタカナ変換は諦めることにしましょう。(変換テーブルを作ってやってやれないことも無いとは思いますが、事実上面倒すぎます。)
図のような方法でひらがなカタカナ以外の検索には対応しますが、検索元データが全角半角混じりまでは対応できません。
SELECT文の中でCOLLATIONの設定ができれば良いのですが、エラーになるようです。