[解決済み] SQL ServerでLIKE演算子の大文字と小文字は区別されますか?
質問
この質問では のドキュメントで、LIKE 演算子について に関するドキュメントでは、大文字と小文字の区別について何も語られていません。そうなのでしょうか?どのようにそれを有効/無効にするのですか?
私はクエリ
varchar(n)
列を、Microsoft SQL Server 2005 のインストール上でクエリしています。
どのように解決するのですか?
大文字小文字を区別するのは演算子ではなく、列そのものです。
SQL Server のインストールが実行されるとき、デフォルトの照合順序がインスタンスに選択されます。明示的に言及されていない限り (下記の照合順序を確認してください)、新しいデータベースが作成されると、インスタンスから照合順序を継承し、新しい列が作成されると、それが属するデータベースから照合順序を継承します。
のような照合順序は
sql_latin1_general_cp1_ci_as
のような照合順序は、カラムの内容がどのように扱われるべきかを決めます。CIはcase insensitive、ASはaccent sensitiveを意味します。
照合順序の完全な一覧は https://msdn.microsoft.com/en-us/library/ms144250(v=sql.105).aspx。
(a) インスタンスの照合順序をチェックする
select serverproperty('collation')
(b) データベースの照合順序をチェックする
select databasepropertyex('databasename', 'collation') sqlcollation
(c) 異なる照合順序でデータベースを作成する場合
create database exampledatabase
collate sql_latin1_general_cp1_cs_as
(d) 異なる照合順序でカラムを作成する場合
create table exampletable (
examplecolumn varchar(10) collate sql_latin1_general_cp1_ci_as null
)
(e) 列照合順序を変更する場合
alter table exampletable
alter column examplecolumn varchar(10) collate sql_latin1_general_cp1_ci_as null
インスタンスとデータベースの照合順序を変更することは可能ですが、以前に作成されたオブジェクトには影響しません。
文字列比較のために列の照合順序をその場で変更することも可能ですが、これは非常にコストがかかるため、実稼働環境では推奨されません。
select
column1 collate sql_latin1_general_cp1_ci_as as column1
from table1
関連
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL Server にテーブルが存在するかどうかを確認する
-
[解決済み] SQL Serverでテーブルからカラム名を取得するにはどうすればよいですか?
-
[解決済み] "ON UPDATE CASCADE "を使用する場合について
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
plsql-stored-procedure ORA-06550 エラー処理
-
[解決済み] ストアドプロシージャ 'dbo.aspnet_CheckSchemaVersion' が見つかりませんでした。
-
[解決済み] Oracle Trigger ORA-04098: トリガーが無効で、再バリデーションに失敗しました。
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み] SQLの複数列の順序付け
-
[解決済み] SQL Serverで結果をページ分割する最も良い方法は何ですか?
-
[解決済み] SQL ServerでGROUP BYを使って文字列を連結する方法とは?
-
[解決済み] SQL Serverで、ある日付より大きいすべての日付を照会するにはどうすればよいですか?
-
[解決済み] Postgres でサブクエリを使用してテーブルの行を更新する