Patrones literales SQL LIKE
Escapa un literal SQL LIKE usando la exclamación como carácter 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
- Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
- Proyecto
- Prueba porcentaje, guion bajo, exclamaciones y texto vacío con un parámetro enlazado, rechazando NUL sin añadir comodines ni prometer distinción de mayúsculas.
- Revisa antes de aplicar
- Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
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 '!'"Haz que el buscador interprete lo que escriben sus usuarios
Quien introduce signos de puntuación en un campo de búsqueda puede esperar encontrarlos literalmente. La consulta de la base de datos puede interpretarlos de otra forma. LikeSail es un entorno de programación con IA para Windows donde puedes investigar esa discrepancia en tu aplicación, desde el campo de entrada hasta la llamada de consulta. Describe el comportamiento de búsqueda previsto y pide que se examine el código que lo construye y ejecuta.
El ejemplo SQL LIKE ofrece una tarea de desarrollo centrada en los signos de porcentaje, los guiones bajos y un carácter de escape. Puedes pedir al asistente que revise cómo el texto literal se convierte en un valor de consulta vinculado y cómo la consulta declara su convención de escape. Comprueba el código llamador además de la función auxiliar y prueba después los resultados reales de la base de datos. Mantén los requisitos de coincidencia literal separados de cuestiones más amplias sobre seguridad de consultas y sintaxis de búsqueda permitida.
Para las opciones de modelos de IA ablacionados, elige un modelo disponible mediante un endpoint compatible con OpenAI o de Anthropic admitido y proporciona las credenciales necesarias. El modelo, el servidor y el proveedor del endpoint determinan el contexto, las herramientas y las restricciones. Revisa los cambios propuestos antes de ejecutar las comprobaciones de base de datos de tu proyecto. Si utilizas un servidor de modelos local, las demás herramientas conectadas y la conexión a la base de datos pueden seguir teniendo sus propios destinos externos.
Definir el contrato de búsqueda
- ¿Deben tratarse siempre literalmente el porcentaje y el guion bajo?
Depende de la interfaz de búsqueda que quieras ofrecer. Indica si las personas pueden introducir expresiones con comodines o solo texto normal. Examina la construcción de consultas conforme a esa decisión y prueba la puntuación en lugar de suponer que la entrada mostrada conserva su significado.
- ¿Escapar caracteres LIKE sustituye a los parámetros vinculados?
No. El tratamiento de patrones literales y la vinculación de valores de consulta resuelven problemas diferentes. Revisa cómo llega el resultado de la función auxiliar a la llamada de base de datos y conserva la parametrización prevista. No infieras una seguridad general de las consultas únicamente a partir de un pequeño ejemplo de escape.
- ¿Qué ejemplos de base de datos deben acompañar el cambio?
Incluye filas con los caracteres comodín, el carácter de escape y texto normal, junto con las coincidencias esperadas para cada búsqueda. Ejecútalos en la configuración de base de datos del proyecto para probar juntos la consulta y la función auxiliar con la misma convención.
- ¿LikeSail cambia por mí la configuración de búsqueda de la base de datos?
No se da por supuesto ningún cambio automático de configuración. Pide examinar el comportamiento de la consulta y conexión existentes y revisa después los cambios de código o configuración propuestos. La base de datos real de tu proyecto sigue siendo el lugar donde verificar la semántica de búsqueda resultante.
LikeSail · Actualizado 2026-10-25