Padrões literais de SQL LIKE
Escape um literal SQL LIKE usando exclamação como caractere de escape.
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 '!'"- Modelos
- Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
- Projeto
- Teste porcentagem, sublinhado, exclamações e texto vazio com parâmetro vinculado, rejeitando NUL sem adicionar curingas nem prometer distinção de maiúsculas.
- Revise antes de aplicar
- Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
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 '!'"Faça o campo de busca corresponder ao que as pessoas digitam
Uma pessoa que digita pontuação em um campo de busca pode esperar que esses caracteres sejam encontrados literalmente. A consulta ao banco de dados pode interpretá-los de outra maneira. LikeSail é um ambiente de programação com IA para Windows no qual você pode investigar essa divergência na aplicação, do campo de entrada à chamada da consulta. Descreva o comportamento de busca pretendido e peça uma análise do código que o constrói e executa.
O exemplo de SQL LIKE oferece uma tarefa de desenvolvimento focada em sinais de porcentagem, sublinhados e um caractere de escape. Você pode pedir ao assistente que revise como o texto literal se torna um valor vinculado à consulta e como ela declara sua convenção de escape. Verifique tanto o código chamador quanto a função auxiliar e teste os resultados reais do banco de dados. Mantenha os requisitos de correspondência literal separados das questões mais amplas de segurança de consultas e sintaxe de busca permitida.
Para usar opções de modelos de IA abliterados, escolha um modelo disponível por meio de um endpoint suportado compatível com OpenAI ou da Anthropic e forneça as credenciais exigidas. O modelo, o servidor e o provedor do endpoint determinam contexto, ferramentas e restrições. Revise as edições propostas antes de executar as verificações de banco de dados do projeto. Se você usar um servidor local de modelos, outras ferramentas conectadas e a conexão com o banco de dados ainda poderão ter seus próprios destinos externos.
Definindo o contrato da busca
- Porcentagem e sublinhado devem sempre ser tratados literalmente?
Isso depende da interface de busca que você pretende oferecer. Informe se as pessoas podem digitar expressões com curingas ou somente texto comum. Examine a construção da consulta de acordo com essa decisão e teste a pontuação, em vez de presumir que a entrada exibida preserva seu significado.
- Escapar caracteres de LIKE substitui os parâmetros vinculados?
Não. O tratamento de padrões literais e a vinculação de valores à consulta resolvem questões diferentes. Revise como o resultado da função auxiliar chega à chamada do banco de dados e preserve a parametrização pretendida. Não deduza uma segurança ampla da consulta apenas de um pequeno exemplo de escape.
- Quais exemplos de banco de dados devem acompanhar a alteração?
Inclua linhas que contenham caracteres curinga, o caractere de escape e texto comum, com as correspondências esperadas para cada busca. Execute esses casos na configuração de banco de dados do projeto para testar a consulta e a função auxiliar juntas sob a mesma convenção.
- LikeSail altera as configurações de busca do banco de dados por mim?
Nenhuma alteração automática de configuração está implícita. Peça uma análise do comportamento existente da consulta e da conexão e revise as edições propostas no código ou na configuração. O banco de dados real do projeto continua sendo o local para verificar a semântica de busca resultante.
LikeSail · Atualizado 2026-10-25