1

という列がありCities、この列には次のようなデータがあります。

 City 1
 CITY 1         
 CITY 1 

CITY(大文字) のみを選択したい

これは仕事をしていません:

SELECT * FROM Location
WHERE Cities LIKE 'CITY 1'

これは私にすべてのインクルードを与えていCITY 1ますCity 1

4

6 に答える 6

9

既定では、SQL Server は大文字と小文字を区別しない照合を使用します。

SELECT * 
FROM Location 
WHERE Cities LIKE 'CITY 1' 
COLLATE Latin1_General_CS_AI

大文字と小文字を区別する照合を使用して比較演算子をマークし、大文字と小文字を区別するフィルターを適用します

于 2013-08-08T15:33:58.510 に答える
1

あなたの SQL は大文字と小文字を区別しない照合にあると思います。その場合、「C」と「c」を検索すると同じ結果が返されます。クエリを照合して、大文字と小文字を区別して検索する必要があります。

SELECT * FROM Location WHERE Cities LIKE 'CITY 1' COLLATE <Insert case sensitive collation here>

例えば

SELECT * FROM Location WHERE Cities LIKE 'CITY 1' COLLATE Latin1_General_CS_AI
于 2013-08-08T15:35:00.673 に答える
0

BINARY 演算子を使用して、大文字と小文字を区別することができます。

http://dev.mysql.com/doc/refman/5.0/en/charset-binary-op.html

SELECT * FROM Location WHERE BINARY Cities = 'CITY 1';
于 2013-08-08T15:35:11.030 に答える
-1

このクエリを試してください。

SELECT *
FROM Location
WHERE Cities LIKE 'CITY 1'
COLLATE Latin1_General_CS_AS;

照合により、クエリで大文字と小文字が区別される 'CS' とアクセントが区別される 'AS' が作成されます。Latin1 は、他の多くの言語の中で英語を指定します。

于 2013-08-08T15:46:30.417 に答える