- - PR -
SQLのWhere条件で全角半角の区別で抽出したい![SQLServer2000]
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-02-12 13:50
SQLのSelect文でWhere条件に名称を検索条件にした所・・・問題が発生しました。
以下のデータがあるとします。 [tblTest] id name ------------------------- 000001 テスト1 ←数字は全角 000002 テスト2 ←数字は全角 000003 テスト3 ←数字は全角 000004 テスト1 ←数字は半角 Select * From tblTest Where name = 'テスト1' ←半角 とすると、 id name ------------------------- 000001 テスト1 ←数字は全角 000004 テスト1 ←数字は全角 が結果として返ってきました。 「テスト1←(半角)」を条件に抽出したいのですが、どうしたらよろしいのでしょうか?! こんな初心者に教えてください!! 色々調べてはみたのですが、理解できず・・・・ よろしくお願い致します。 P.S.ちなみに、DBのnameフィールドのデータ型はnvarchar(255)です。 |
|
投稿日時: 2004-02-12 13:59
SQLServerの設定で照合順序を変更すればいけると思いますよ。
CI 大文字、小文字を区別しない。全角アルファベットの大文字、小文字も区別しない CS 大文字、小文字を区別する。全角アルファベットの大文字、小文字も区別する AI アクセント、濁音、破裂音を区別しない。 AS アクセント、濁音、破裂音を区別する。 KS ひらがなとカタカナを区別する。半角でも区別する WS 文字幅を区別する。つまり全角、半角を区別する。 |
|
投稿日時: 2004-02-12 14:14
SQLServerの設定で照合順序を変更すれば・・・?ですか・・・。。。。
う〜ん。それはどうやったらいいのでしょうか? すみません。。初心者な者で、さっぱりわかりません。 オプションとか開いてはみたんですけど・・・それらしき設定する場所が見当たりません。 ちなみに、それは環境を直すってことですよね? コード上ではどうにもならないのでしょうか・・・ Select文のなかとかでは・・・・。 |
|
投稿日時: 2004-02-12 14:31
Select *
From tblTest Where name = 'テスト1' COLLATE Japanese_CS_AS_KS_WS でうまくいくと思います。 「Japanese_CS_AS_KS_WS」の意味はAnonさんの書き込みとヘルプを参考にして下さい |
|
投稿日時: 2004-02-12 14:49
素晴らしい!!
すぐに出来ました! 有難うございました! こんな機能があるとは思いませんでしたよっ! Anonさん、ゆうじゅんさん! 本当にありがとうございました!! また、何かありましたら、その時はお世話になります!! |
1