- - PR -
言語とDBのソートの違いの回避策
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-11-10 12:07
【言語】VB.NET
【DB】SQLServer 帳票の範囲指定画面でFROMとTOの大小比較をしています。 FROMに'b' TOに'A'を入れると、FROMの方が大きいと判断します。 FROMに'B' TOに'a'を入れると、FROMの方が大きいと判断しません。 つまり、言語では大文字のA〜Z , 小文字のa〜zの順に判断しているようです。 DBでそのフィールドをソートすると、A , a , B , b の順に並びます。 試しにEXCELの列に入れてソートしてみると、A , a , b , B となり、 大文字と小文字の判断の決まりはないようですが、A(a)〜Z(z)となっているようです。 キャラクターセットによって並びが違う場合の回避策をご存知でしたら教えてください。 | ||||
|
投稿日時: 2003-11-10 12:26
こんにちは。
大文字小文字の区別はシステム的に必要となるのでしょうか。 必要にならない場合であれば、UPPER/lower を利用されてみてはどうでしょう。 | ||||
|
投稿日時: 2003-11-10 12:34
そうなんですよねぇ。
私もSEに大文字小文字の区別が必要か確認したんですが、システム的に必要なんだそうです。 | ||||
|
投稿日時: 2003-11-10 14:17
ほむらです。
ちなみに、ASCIIコードでは '0' 48(0x30) 'A' 65(0x41) 'a' 97(0x61) になっています。(VBでは16進数表記は&H??かな?) 参考までにということで^^;;;;; ちなみに、FROM TO を正しくしたい場合には区別無しで判断した後に 変換なし(区別有り)状態で判断の組み合わせで出来ますね #で?回避策とった結果としてどいう並びにしたいのですか? #大文字/小文字の区別をつける時の優先度を決定する規則は? [ メッセージ編集済み 編集者: ほむら 編集日時 2003-11-10 14:22 ] | ||||
|
投稿日時: 2003-11-11 12:14
VB.NETで大文字小文字の区別をしないようにするには、ソリューションエクスプローラでプロジェクトのプロパティを表示し、「共通プロパティ→ビルド」の、Option CompareをTextにします。
#ついでにoption strictはonにすることをお勧め C#や、VB.NETでも、場合によって使い分けたい場合はこちら
[ メッセージ編集済み 編集者: Jitta 編集日時 2003-11-11 12:17 ] | ||||
|
投稿日時: 2003-11-11 13:29
詳細な情報ありがとうございます。
参考にさせていただきます。 |
1