質問 |
||
| 質問者:fca2papa | 大文字と小文字の判別について | |
|---|---|---|
困り度:
|
SQL-SERVERにて大文字と小文字のデータが存在した場合に小文字のデータのみ抽出したいのですがうまくいきません。どなたか教示下さい。 例(データ内 (1)A (2)a の場合SQLにて(2)のデータのみ取得したい) |
|
質問投稿日時:08/04/30 14:19 質問番号:3987361 |
||
回答良回答10pt |
|
| 回答者:nora1962 | http://msdn.microsoft.com/ja-jp/library/ms184391.aspx create table tbl ( col1 varchar(10) ) insert into tbl values ( 'abcdefg' ) insert into tbl values ( 'ABCDEFG' ) select * from tbl where col1 collate japanese_bin = 'abcdefg' |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/05/01 16:53 回答番号:No.4 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| 回答者:kiy0kiy0 | --こんな記述を見つけたのですが、いかがですか? --主旨が違っていたらごめんなさい。 SQL-Serverの設定で、英字の大文字と小文字を区別しない設定(デフォルト設定)の時、大文字小文字を区別する方法。 絞り込む条件のフィールド「FIELD_NAME」の場合の例 SELECT * FROM hoge WHERE convert(varbinary(11), RTrim(FIELD_NAME)) = convert(varbinary(11), 'abcdefghij') 「FIELD_NAME」がvarchar(10)の場合、varbinary(11)と1バイト以上大きい文字指定すること。 varbinary(10)だとFIELD_NAME='abcdefghij'、変数='abcdefghijklmnopqrstu'の時も条件を満たしてしまいます。 |
|---|---|
| 種類:補足要求 どんな人:経験者 自信:参考意見 |
|
| |
回答日時:08/05/01 14:38 回答番号:No.3 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答良回答20pt |
|
| 回答者:kokorone | http://technet.microsoft.com/ja-jp/library/ms141038.aspx あたりが参考になりませんか? 大文字・小文字を区別しない設定となっていませんか? |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/04/30 16:16 回答番号:No.2 |
|
| この回答へのお礼 | 設定が大文字と小文字は区別しない設定となっていることが分かりましたがMasterデータベースの変更が出来ません。再インストールが必要でしょうか? |
回答 |
|
| 回答者:kokorone | 例がシンプルすぎます。 1)AAA2)aaa3)AaA の場合、何を抽出するのでしょうか? 小文字のデータを含むレコードであれば、 Field1 <> UPPER(Field1) の条件で、いかがでしょうか? 生のデータと、大文字変換したデータが異なる という条件です。 |
|---|---|
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/04/30 14:56 回答番号:No.1 |
|
| この回答への補足 | テーブル内に KEY Field1 1 AAA 2 aaa 3 AaA のレコードが存在した場合に SQL文でWHERE Field1 ="aaa"とした場合に3レコードヒットしてしまいます。これをKEY=2のみ抽出したいのですがうまくいきません。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |