Schemi letterali SQL LIKE
Esegui l’escape di un letterale SQL LIKE usando il punto esclamativo.
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 '!'"- Modelli
- Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
- Progetto
- Prova percentuali, trattini bassi, esclamazioni e testo vuoto con un parametro associato, rifiutando NUL senza aggiungere caratteri jolly né promettere distinzione tra maiuscole e minuscole.
- Controlla prima di applicare
- Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
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 '!'"Fai sì che la casella di ricerca rispetti ciò che gli utenti digitano
Chi inserisce segni di punteggiatura in un campo di ricerca può aspettarsi che quei caratteri vengano cercati letteralmente. La query del database potrebbe interpretarli diversamente. LikeSail è un ambiente di programmazione con IA per Windows in cui puoi indagare questa discrepanza nell'applicazione, dal campo di input alla chiamata della query. Descrivi il comportamento di ricerca previsto e chiedi di esaminare il codice che lo costruisce ed esegue.
L'esempio SQL LIKE offre un'attività di sviluppo mirata su segni di percentuale, trattini bassi e un carattere di escape. Puoi chiedere all'assistente di verificare come il testo letterale diventa un valore associato a un parametro della query e come la query dichiara la convenzione di escape. Controlla sia il chiamante sia la funzione ausiliaria, poi prova i risultati effettivi del database. Tieni distinti i requisiti di corrispondenza letterale dalle questioni più ampie sulla sicurezza delle query e sulla sintassi di ricerca consentita.
Per usare modelli IA abliterati, scegli un modello disponibile tramite un endpoint supportato compatibile con OpenAI o Anthropic e fornisci le credenziali richieste. Il modello, il server e il fornitore dell'endpoint determinano contesto, strumenti e restrizioni. Esamina le modifiche proposte prima di eseguire i controlli del database del progetto. Se usi un server di modelli locale, gli altri strumenti connessi e la connessione al database possono comunque avere proprie destinazioni esterne.
Definire il contratto della ricerca
- Percentuale e trattino basso devono sempre essere interpretati letteralmente?
Dipende dall'interfaccia di ricerca che intendi offrire. Specifica se gli utenti possono inserire espressioni con caratteri jolly o soltanto testo ordinario. Esamina la costruzione della query alla luce di questa decisione e prova la punteggiatura, senza presumere che l'input visualizzato mantenga il proprio significato.
- L'escape dei caratteri LIKE sostituisce i parametri associati?
No. La gestione dei pattern letterali e l'associazione dei valori della query risolvono problemi diversi. Esamina come il risultato della funzione ausiliaria raggiunge la chiamata al database e preserva la parametrizzazione prevista. Non dedurre una sicurezza generale delle query da un piccolo esempio di escape.
- Quali esempi di database dovrebbero accompagnare la modifica?
Includi righe contenenti caratteri jolly, il carattere di escape e testo ordinario, con le corrispondenze attese per ogni ricerca. Esegui i casi sulla configurazione del database del progetto, così query e funzione ausiliaria vengono provate insieme con la stessa convenzione.
- LikeSail modifica per me le impostazioni di ricerca del database?
Non è implicita alcuna modifica automatica della configurazione. Chiedi di esaminare la query esistente e il comportamento della connessione, poi verifica le modifiche proposte al codice o alla configurazione. Il database effettivo del progetto resta il luogo in cui verificare la semantica di ricerca risultante.
LikeSail · Aggiornato 2026-10-25