Предложение SQL WHERE для столбца с большой буквы - PullRequest
0 голосов
/ 22 января 2010

table_beatles содержит следующие данные в столбце name.

  • John
  • ПОЛ
  • 1010 * джордж *
  • Ринго

В MS-SQL есть в любом случае получить какой-либо элемент, который все заглавными буквами? например,

SELECT * FROM table_beatles where name is (AllCaps SYNTAX HERE)

чтобы вернуть Пола и Ринго.

Ответы [ 3 ]

9 голосов
/ 22 января 2010

Как вы это сделаете, зависит от используемого сопоставления. Если у вас есть сортировка без учета регистра, вы просите SQL обрабатывать строчные и прописные буквы одинаково. Так что вам может понадобиться сделать это:

SELECT  *
FROM    table_beatles
WHERE   UPPER(name) COLLATE Latin1_General_CS_AS
             = name COLLATE Latin1_General_CS_AS

Это заставляет SQL использовать сравнение с учетом регистра (CS) для проверки на равенство. Если у вас уже есть сопоставление с учетом регистра, то вы можете пропустить две COLLATE части этого. Но, учитывая, что вы задали вопрос, я полагаю, что вы этого не сделали.

1 голос
/ 22 января 2010

Вы хотите выполнить поиск с учетом регистра. Здесь объясняется много методов: Поиск с учетом регистра в запросах SQL Server

0 голосов
/ 22 января 2010
SELECT * FROM table_beatles where UPPER(name) = name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...