Bagaimana untuk menanyakan rentetan yang terkandung dalam mysql

WBOY
Lepaskan: 2022-02-24 11:30:42
asal
25863 orang telah melayarinya

Kaedah: 1. Gunakan "nama jadual di mana medan seperti '% string%'" untuk membuat pertanyaan; medan seperti '% string%'" untuk pertanyaan cari(rentetan,medan)" pertanyaan.

Bagaimana untuk menanyakan rentetan yang terkandung dalam mysql

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.

Cara untuk menanyakan rentetan yang terkandung dalam mysql

Ringkaskan 3 kaedah untuk menentukan sama ada rentetan tertentu mengandungi rentetan tertentu dalam MySQL.

Mari kita ambil senario mudah dahulu, seperti menanyakan jadual pengguna untuk rekod dengan yanggb dalam hobi.

Kaedah 1: Gunakan aksara kad bebas %.

Kad liar juga merupakan padanan kabur, yang boleh dibahagikan kepada pertanyaan kabur terkemuka, pertanyaan kabur mengekor dan jumlah pertanyaan padanan utama Ia sesuai untuk senario pertanyaan sama ada rentetan tertentu mengandungi pertanyaan kabur yang lain . Senario penggunaan

select * from user where hobby like '%yanggb%';
Salin selepas log masuk

adalah terhad untuk mencari rekod yanggb dalam hobi (hobi ialah berbilang nilai yang dipisahkan dengan koma), tetapi bukan sebaliknya.

Kaedah 2: Gunakan fungsi rentetan find_in_set() yang disediakan oleh MySQL.

MySQL menyediakan fungsi rentetan find_in_set(str1, str2), yang digunakan untuk mengembalikan indeks kedudukan str1 dalam str2 Jika ia ditemui, ia akan mengembalikan benar (1), jika tidak, ia akan kembali false ( 0), dengan str2 mesti dipisahkan dengan koma separuh lebar [,]. Apabila rentetan padanan

select * from user where find_in_set('yanggb', hobby);
Salin selepas log masuk

digunakan sebagai parameter pertama, senario yang berkenaan adalah untuk mencari rekod yanggb dalam hobi (hobi ialah berbilang nilai yang dipisahkan dengan koma). Apabila rentetan padanan

select * from user where find_in_set(hobby, 'yanggb1,yanggb2,yanggb3');
Salin selepas log masuk

digunakan sebagai parameter kedua, senario yang berkenaan adalah untuk mencari rekod dengan salah satu daripada yanggb1, yanggb2 dan yanggb3 dalam hobi (hobi ialah nilai tunggal).

Kaedah 3: Gunakan fungsi rentetan locate() fungsi yang disediakan oleh MySQL.

MySQL juga menyediakan fungsi rentetan locate(substr, str), yang digunakan untuk mengembalikan indeks kedudukan substr dalam str ia kembali 0 .

select * from user where locate('yanggb', hobby) > 0;
Salin selepas log masuk

Senario yang berkenaan adalah serupa dengan fungsi find_in_set() Satu-satunya perbezaan antara kedua-dua fungsi ialah nilai pulangan.

Pembelajaran yang disyorkan: tutorial video mysql

Atas ialah kandungan terperinci Bagaimana untuk menanyakan rentetan yang terkandung dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan