Pola literal SQL LIKE
Escape teks literal SQL LIKE memakai tanda seru sebagai karakter 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 '!'"- Model
- Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.
- Proyek
- Uji persen, garis bawah, tanda seru dan teks kosong dengan parameter terikat, tolak NUL tanpa menambah wildcard atau menjanjikan pembedaan huruf besar.
- Tinjau sebelum menerapkan
- Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
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 '!'"Buat kotak pencarian mencerminkan apa yang diketik penggunanya
Orang yang memasukkan tanda baca ke kolom pencarian mungkin berharap karakter tersebut dicari secara literal. Kueri basis data mungkin menafsirkannya secara berbeda. LikeSail adalah ruang kerja pemrograman AI untuk Windows tempat Anda dapat menyelidiki ketidaksesuaian itu dalam aplikasi, dari kolom masukan hingga pemanggilan kueri. Jelaskan perilaku pencarian yang dimaksud dan minta pemeriksaan kode yang membangun serta menjalankannya.
Contoh SQL LIKE menawarkan tugas pengembangan terfokus seputar tanda persen, garis bawah, dan karakter escape. Anda dapat meminta asisten meninjau bagaimana teks literal menjadi nilai kueri yang diikat ke parameter dan bagaimana kueri menyatakan konvensi escape-nya. Periksa pemanggil maupun fungsi pembantu, lalu uji hasil basis data yang sebenarnya. Pisahkan persyaratan pencocokan literal dari pertanyaan yang lebih luas tentang keamanan kueri dan sintaks pencarian yang diizinkan.
Untuk pilihan model AI abliterasi, pilih model yang tersedia melalui endpoint kompatibel OpenAI atau Anthropic yang didukung dan berikan kredensial yang diperlukan. Model, server, dan penyedia endpoint menentukan konteks, alat, serta pembatasan. Tinjau usulan penyuntingan sebelum menjalankan pemeriksaan basis data proyek Anda. Jika Anda menggunakan server model lokal, alat lain yang terhubung serta koneksi basis data masih dapat memiliki tujuan eksternal masing-masing.
Menentukan kontrak pencarian
- Haruskah persen dan garis bawah selalu diperlakukan secara literal?
Itu bergantung pada antarmuka pencarian yang ingin Anda sediakan. Nyatakan apakah pengguna boleh memasukkan ekspresi wildcard atau hanya teks biasa. Periksa konstruksi kueri berdasarkan keputusan itu dan uji tanda baca, bukan menganggap masukan yang ditampilkan selalu mempertahankan maknanya.
- Apakah escape karakter LIKE menggantikan parameter terikat?
Tidak. Penanganan pola literal dan pengikatan nilai kueri menangani persoalan berbeda. Tinjau bagaimana hasil fungsi pembantu mencapai pemanggilan basis data dan pertahankan parameterisasi yang dimaksud. Jangan menyimpulkan keamanan kueri secara luas hanya dari contoh escape yang kecil.
- Contoh basis data apa yang perlu disertakan dalam perubahan?
Sertakan baris yang memuat karakter wildcard, karakter escape, dan teks biasa, beserta kecocokan yang diharapkan untuk setiap pencarian. Jalankan pada konfigurasi basis data proyek agar kueri dan fungsi pembantu diuji bersama dengan konvensi yang sama.
- Apakah LikeSail mengubah pengaturan pencarian basis data untuk saya?
Tidak ada perubahan konfigurasi otomatis yang tersirat. Minta pemeriksaan perilaku kueri dan koneksi yang ada, lalu tinjau usulan perubahan kode atau konfigurasi. Basis data aktual proyek Anda tetap menjadi tempat untuk memverifikasi semantik pencarian hasilnya.
LikeSail · Diperbarui 2026-10-25