• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:重複チェックはこれでいいの?)

重複チェックの問題:半角と全角の違い

このQ&Aのポイント
  • 重複チェックにおいて、半角と全角の文字が同じものとして判定される問題があります。
  • 例えば、「ABCD」という商品が登録されている状態で、「ABCD」と全角文字の商品を登録しようとすると、重複チェックに引っかかります。
  • 半角と全角は実際には異なる文字コードとして扱われるため、本来は別の商品として扱われるべきです。しかし、現状では同一の文字として判定されてしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

はじめまして、通るすがるともうします。 全角/半角についてなのですが、以下サイトとおなじような現象ではないでしょうか? http://www.horikawa.ne.jp/cgi-bin/showlog.cgi?kd=2&no=1627 あと、書き込みのための存在チェックなのですが、なるべく付加をかけないように 心掛けてチェックを行ったほうがよいと思います。ダミーで読み込むようにしても 実際必要のないデータを読み込み、不必要にメモリ-を消費し、他プロセスのレスポン ス等に影響を与えてしまうからです。 存在チェックそのものは、条件さえ同じであれば、その条件にマッチする件数が 1件以上存在していることを確認すれば済むのではないでしょうか? 件数のみ確認するのであれば、dbとapのやり取りにかかるデータ量は数値のみ の情報となり低コストで判断できるかと思います。

その他の回答 (1)

noname#140925
noname#140925
回答No.1

>これって、おかしくないですか? >本来半角と全角ではぜんぜん別物ですよね。 >何がいけないんでしょうか? >それともこういうものなんでしょうか? DBの設定見直して、全角と半角を区別するように設定変更してください。 [参考]SQL 照合順序の選択 http://msdn.microsoft.com/ja-jp/library/ms144250(v=SQL.90).aspx DBの設定そのままでやるなら、DataSetのCaseSensitiveを設定すれば区別出来るようです。 [参考]DataSet.CaseSensitive プロパティ http://msdn.microsoft.com/ja-jp/library/system.data.dataset.casesensitive(VS.71).aspx [参考]DataViewのRowFilterでの全角半角区別 - Insider.NET - @IT http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36915&forum=7

関連するQ&A