SQL: поиск строк, содержащих заглавные и строчные буквы

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для поиска строк, содержащих строчные буквы, воспользуйтесь шаблоном LIKE со схемой '%[a-z]%'. В случае поддержки регулярных выражений базой данных примените REGEXP с шаблоном '[a-z]'.

SQL с применением LIKE:

SQL
Скопировать код
SELECT * FROM table WHERE column LIKE '%[a-z]%';

SQL со включенным REGEXP:

SQL
Скопировать код
SELECT * FROM table WHERE column REGEXP '[a-z]';

Для сравнения с учетом регистров можно сравнить исходные значения столбца со значениями, приведенными к верхнему регистру с использованием UPPER(column).

SQL
Скопировать код
SELECT * FROM table WHERE UPPER(column) != column;
Кинга Идем в IT: пошаговый план для смены профессии

Учет регистра: как обучить SQL различать его

Учет регистра: порядок сортировки

Чтобы обеспечить сортировку данных с учетом регистра, используйте COLLATE вместе с локацией сортировки, чувствительной к регистру.

SQL Server:

SQL
Скопировать код
SELECT * FROM table WHERE column COLLATE Latin1_General_CS_AS LIKE '%[a-z]%';

Бинарное сравнение: не тривиальное решение

В MySQL применяется модификатор BINARY для активации чувствительности к регистру.

SQL
Скопировать код
SELECT * FROM table WHERE BINARY column LIKE '%[a-z]%';

Сортировки: знай свой стандарт

Учтите настройки сортировки по умолчанию для корректного выполнения запросов.

Когда стоит использовать регулярные выражения

Для сложных шаблонов поиска используйте регулярные выражения, сохраняя при этом проверку регистра.

Визуализация

Представьте данный SQL-запрос как словарь, где каждое слово является строкой. Задача — обнаружить все слова со строчными буквами.

Markdown
Скопировать код
SELECT * FROM словарь WHERE слово REGEXP '[a-z]';

Ваш SQL-запрос выделит слова со строчными буквами:

Markdown
Скопировать код
словарь: ['ARTICLE', 'preposition', 'CONJUNCTION', 'adVERB']
          :                        ⬆️

Вот слова, которые вы сможете обнаружить:

Markdown
Скопировать код
✨: ['preposition', 'adVERB']

Обработка символов вне ASCII: важность UTF-8

Если ваши данные включают символы за рамками ASCII, примените сортировку для UTF-8, обеспечивая верное учет регистра.

Преимущества специфической для языка сортировки

Выберите кодировку таблицы, соответствующую вашим настройкам (utf8), для корректной работы.

Поиск по шаблону: поддержка сортировки

При поиске с учетом регистра учтите характеристики вашей БД.

Сценарии использования: когда использовать регулярное выражение

Регулярные выражения—это мощный инструмент для сложных шаблонов. Используйте их при решении нетривиальных задач.

Проверка совместимости: различия SQL

Проверьте соответствует ли синтаксис вашего SQL используемой базе данных.

Полезные материалы

  1. PostgreSQL: Документация: 9.7. Поиск по шаблону — Официальное описание регулярных выражений в PostgreSQL.
  2. MySQL :: Руководство по MySQL 8.0 :: 12.8.2 Регулярные выражения — Справочник по использованию регулярных выражений в MySQL.
  3. LIKE (Transact-SQL) – SQL Server | Microsoft Learn – Инструкция от Microsoft по работе с командой LIKE.
  4. Список специальных символов для оператора LIKE в SQL – Stack Overflow — Обзор особенностей использования специальных символов в SQL на Stack Overflow.