- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フリガナのソートがうまくいきません。)
VB5でフリガナのソートがうまくいかない!解決方法は?
このQ&Aのポイント
- VB5で作成したプログラムで、フリガナを使用して氏名の一覧表を作成していますが、ソート結果が思った通りになりません。
- VB5で使用しているSQL文では、フリガナを使用して氏名をソートしていますが、意図した順番に並び替えができていません。
- 元のプログラムではフリガナを使用して氏名をソートしていましたが、ACCESSでデータを管理するためにCOBOLからVB5に移行したことが原因です。ソート順を元のプログラムと同じように並び替える方法について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
OracleとACCESSで文字コードが違うためだと思います。 Oracleの文字コードがShift-JISだとすると、文字コードは下記のようになります。 -:817C マイナス記号 オ:8349 :8140 空白記号 一方、ACCESSはUnicodeのはずなので、下記のようになります。 -:FF0D マイナス記号 オ:30AA :3000 空白記号 ソート結果を見ると、ACCESではフリガナなしの場合はNULLになっているように思われます。 対策ですが、マイナス記号やNULL値の場合は特別な値を返すスカラ関数を用意し、これをSQLの中で呼ぶと言うのが考えられます。
お礼
回答いただきまして、ありがとうございます。 文字コードが違うのですね。初めて知りました。(不勉強でした…) さらに不勉強で申し訳ありませんが、「マイナス記号やNULL値の場合は特別な値を返すスカラ関数」というのは、どういうものなのでしょうか。よろしければ教えていただけませんでしょうか。