Литеральные шаблоны SQL LIKE
LikeSail — клиент программирования с ИИ для Windows, в котором поведение запросов рассматривается вместе с контекстом вашего проекта. Проверьте экранирование литерального шаблона с совместимой моделью и при применении правок сохраните разделение SQL и связанного значения.
def like_literal(text):
if type(text) is not str or "\x00" in text:
raise ValueError("like.text")
return text.replace("!", "!!").replace("%", "!%").replace("_", "!_")
SQL = "SELECT value FROM items WHERE value LIKE ? ESCAPE '!'"- Подключение
- Базовый URL, учётные данные и доступный сервер.
- Проект
- Проверьте проценты, подчёркивания, восклицательные знаки и пустой текст со связанным параметром, отклоняя NUL без добавления шаблонных символов и обещаний чувствительности к регистру.
- Проверьте перед применением
- Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
def like_literal(text):
if type(text) is not str or "\x00" in text:
raise ValueError("like.text")
return text.replace("!", "!!").replace("%", "!%").replace("_", "!_")
SQL = "SELECT value FROM items WHERE value LIKE ? ESCAPE '!'"Пусть поиск понимает введённый текст так, как ожидает пользователь
Человек, вводящий знаки пунктуации в поле поиска, может ожидать буквального поиска этих символов. Запрос к базе данных может трактовать их иначе. LikeSail — рабочая среда программирования с ИИ для Windows, где можно исследовать это расхождение в приложении: от поля ввода до вызова запроса. Опишите желаемое поведение поиска и попросите изучить код его построения и выполнения.
Пример SQL LIKE предлагает узкую задачу разработки, связанную со знаками процента, подчёркивания и символом экранирования. Можно попросить помощника проверить, как буквальный текст становится значением связанного параметра запроса и как запрос объявляет правила экранирования. Проверьте вызывающий код вместе со вспомогательной функцией, затем протестируйте реальные результаты базы данных. Отделяйте требования буквального сопоставления от более широких вопросов безопасности запросов и допустимого синтаксиса поиска.
Чтобы выбрать аблитерированную модель ИИ, используйте доступную модель через поддерживаемую конечную точку, совместимую с OpenAI, или конечную точку Anthropic и предоставьте необходимые учётные данные. Модель, сервер и провайдер конечной точки определяют контекст, инструменты и ограничения. Проверяйте предлагаемые правки перед запуском проверок базы данных проекта. При использовании локального сервера модели другие подключённые инструменты и подключение к базе данных по-прежнему могут обращаться к собственным внешним адресам.
Определение условий поиска
- Всегда ли считать процент и подчёркивание буквальными символами?
Это зависит от задуманного интерфейса поиска. Укажите, могут ли люди вводить шаблоны с подстановочными символами или только обычный текст. Проверьте построение запроса с учётом этого решения и протестируйте пунктуацию, не предполагая, что отображаемый ввод сохраняет свой смысл.
- Заменяет ли экранирование символов LIKE связанные параметры?
Нет. Обработка буквального шаблона и связывание значений запроса решают разные задачи. Проверьте, как результат вспомогательной функции попадает в вызов базы данных, и сохраните предусмотренную параметризацию. Нельзя судить об общей безопасности запросов только по небольшому примеру экранирования.
- Какие примеры базы данных приложить к изменению?
Включите строки с подстановочными символами, символом экранирования и обычным текстом, указав ожидаемые совпадения для каждого поиска. Выполните их в конфигурации базы данных проекта, чтобы запрос и вспомогательная функция проверялись вместе с одинаковыми правилами.
- Меняет ли LikeSail настройки поиска базы данных за меня?
Автоматическое изменение конфигурации не подразумевается. Попросите изучить существующий запрос и поведение подключения, затем проверьте предлагаемые изменения кода или конфигурации. Проверять итоговый смысл поиска следует в реальной базе данных проекта.
LikeSail · Обновлено 2026-10-25