Șabloane literale SQL LIKE
Escapează un literal SQL LIKE folosind semnul exclamării.
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 '!'"- Modele
- Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.
- Proiect
- Testează procente, sublinieri, exclamări și text gol cu parametru legat, respingând NUL fără metacaractere adăugate ori promisiuni privind diferențierea majusculelor.
- Verifică înainte de aplicare
- Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
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 '!'"Fă câmpul de căutare să respecte textul introdus
Cine introduce semne de punctuație într-un câmp de căutare se poate aștepta ca acele caractere să fie găsite literal. Interogarea bazei de date le poate interpreta diferit. LikeSail este un spațiu de lucru Windows pentru programare cu IA, unde poți investiga această nepotrivire în aplicația ta, de la câmpul de intrare la apelul interogării. Descrie comportamentul de căutare dorit și cere inspectarea codului care construiește și execută interogarea.
Exemplul SQL LIKE oferă o sarcină de dezvoltare concentrată pe semnul procentului, caracterul de subliniere și un caracter de escapare. Poți cere asistentului să examineze cum devine textul literal o valoare legată ca parametru al interogării și cum declară interogarea convenția de escapare. Verifică atât apelantul, cât și funcția auxiliară, apoi testează rezultatele efective din baza de date. Separă cerințele de potrivire literală de întrebările mai ample despre siguranța interogărilor și sintaxa de căutare permisă.
Pentru opțiuni de modele IA cu cenzura eliminată, alege un model disponibil printr-un endpoint compatibil OpenAI sau Anthropic acceptat și furnizează datele de autentificare necesare. Modelul, serverul și furnizorul endpointului determină contextul, instrumentele și restricțiile. Examinează modificările propuse înainte de a rula verificările bazei de date a proiectului. Dacă folosești un server local de modele, celelalte instrumente conectate și conexiunea la baza de date pot avea în continuare propriile destinații externe.
Definirea contractului de căutare
- Semnul procentului și caracterul de subliniere trebuie tratate întotdeauna literal?
Depinde de interfața de căutare pe care vrei să o oferi. Precizează dacă utilizatorii pot introduce expresii cu metacaractere sau doar text obișnuit. Verifică construirea interogării în raport cu această decizie și testează punctuația, fără a presupune că textul afișat își păstrează sensul.
- Escaparea caracterelor LIKE înlocuiește parametrii legați?
Nu. Tratarea tiparelor literale și legarea valorilor interogării rezolvă probleme diferite. Verifică felul în care rezultatul funcției auxiliare ajunge la apelul bazei de date și păstrează parametrizarea prevăzută. Nu deduce siguranța generală a interogărilor doar dintr-un mic exemplu de escapare.
- Ce exemple din baza de date ar trebui să însoțească modificarea?
Include rânduri care conțin metacaracterele, caracterul de escapare și text obișnuit, cu potrivirile așteptate pentru fiecare căutare. Execută-le în configurația bazei de date a proiectului, astfel încât interogarea și funcția auxiliară să fie testate împreună, conform aceleiași convenții.
- LikeSail modifică setările de căutare ale bazei de date în locul meu?
Nu este implicată nicio modificare automată a configurației. Cere inspectarea interogării existente și a comportamentului conexiunii, apoi examinează modificările propuse pentru cod sau configurație. Baza de date efectivă a proiectului rămâne locul unde verifici semantica de căutare rezultată.
LikeSail · Actualizat 2026-10-25