Rumah > Java > javaTutorial > Bagaimana untuk menggunakan LIKE Wildcard dengan Penyata Disediakan dalam Pertanyaan MySQL?

Bagaimana untuk menggunakan LIKE Wildcard dengan Penyata Disediakan dalam Pertanyaan MySQL?

Patricia Arquette
Lepaskan: 2024-11-15 09:11:03
asal
866 orang telah melayarinya

How to Use LIKE Wildcard with Prepared Statements in MySQL Queries?

Menggunakan LIKE Wildcard dengan Penyata Disediakan dalam Pertanyaan MySQL

Dalam pertanyaan pangkalan data MySQL, pengendali LIKE membenarkan carian berasaskan corak. Apabila menggunakan pernyataan yang disediakan untuk melaksanakan pertanyaan sedemikian, adalah penting untuk memasukkan kad bebas LIKE dengan betul.

Satu keperluan biasa ialah melakukan carian padanan awalan. Untuk mencapai matlamat ini, kata kunci% harus dilampirkan pada istilah carian. Walau bagaimanapun, apabila menggunakan pernyataan yang disediakan, adalah tidak betul untuk menggabungkan kad bebas terus kepada nilai parameter.

Sebaliknya, tetapkan nilai itu sendiri dalam pertanyaan pernyataan yang disediakan. Untuk padanan awalan, ubah suai istilah carian seperti berikut:

notes = notes
    .replace("!", "!!")
    .replace("%", "!%")
    .replace("_", "!_")
    .replace("[", "![");

PreparedStatement pstmt = con.prepareStatement(
        "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'");
pstmt.setString(1, notes + "%");
Salin selepas log masuk

Kata kunci ESCAPE menunjukkan aksara melarikan diri yang digunakan untuk melarikan aksara khas dalam kad bebas. Secara lalai, ia adalah garis miring ke belakang (), tetapi ia boleh ditukar kepada mana-mana aksara.

Begitu juga, untuk padanan akhiran, gunakan yang berikut:

pstmt.setString(1, "%" + notes);
Salin selepas log masuk

Dan untuk global padanan:

pstmt.setString(1, "%" + notes + "%");
Salin selepas log masuk

Dengan menetapkan kad bebas dalam istilah carian, pengendali LIKE boleh digunakan dengan berkesan dengan pernyataan yang disediakan untuk melaksanakan pelbagai berasaskan corak carian dalam pangkalan data MySQL.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan LIKE Wildcard dengan Penyata Disediakan dalam Pertanyaan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan