Освоение поиска с учетом регистра в SQL Server: методы и примеры

Поиск данных с учетом регистра — обычное требование в приложениях SQL Server. Хотя SQL Server по умолчанию не учитывает регистр, существует несколько методов и приемов для выполнения поиска с учетом регистра. В этой статье блога мы рассмотрим несколько подходов с примерами кода, которые помогут вам освоить поиск с учетом регистра в SQL Server.

Методы поиска с учетом регистра:

  1. Предложение COLLATE:
    Предложение COLLATE позволяет указать определенные параметры сортировки для запроса, которые определяют, как выполняется сравнение строк. Выбрав параметры сортировки с учетом регистра, вы можете обеспечить учет регистра при поиске. Вот пример:
SELECT column1, column2
FROM table
WHERE column1 COLLATE Latin1_General_CS_AS = 'searchterm'
  1. Функция BINARY_CHECKSUM:
    Функция BINARY_CHECKSUM вычисляет значение контрольной суммы для заданного выражения, рассматривая строки как двоичные данные. Сравнивая значения контрольной суммы, вы можете добиться поиска с учетом регистра. Вот пример:
SELECT column1, column2
FROM table
WHERE BINARY_CHECKSUM(column1) = BINARY_CHECKSUM('searchterm')
  1. Параметры сортировки BINARY:
    SQL Server предоставляет специальные параметры сортировки с «BIN» или «BINARY» в именах, которые обрабатывают строки как двоичные данные, что приводит к сравнениям с учетом регистра. Вот пример:
SELECT column1, column2
FROM table
WHERE column1 COLLATE SQL_Latin1_General_CP1_BIN = 'searchterm'
  1. SQL Server 2017 и более поздние версии: параметры сортировки CS:
    Начиная с SQL Server 2017 доступен новый параметр сортировки CS (с учетом регистра). Он обеспечивает сравнения с учетом регистра без необходимости использования дополнительных функций или предложений. Вот пример:
SELECT column1, column2
FROM table
WHERE column1 COLLATE Latin1_General_CS_AS = 'searchterm'

Выполнение поиска с учетом регистра в SQL Server возможно различными методами. Используя предложение COLLATE, функцию BINARY_CHECKSUM, определенные параметры сортировки или параметры сортировки CS, представленные в SQL Server 2017, вы можете адаптировать свои поисковые запросы в соответствии с требованиями с учетом регистра. Понимание этих методов позволит вам эффективно выполнять поиск с учетом регистра в приложениях SQL Server.