Rumah >tutorial komputer >pengetahuan komputer >Lakukan pertanyaan pangkalan data SQL padanan kabur
Persekitaran SQL Server, jika persekitaran tidak betul, sila rujuk idea dan ubah suai sendiri
pilih * ke dalam #temp1 daripada jadual1 di mana len(col1) > 5 dan len(col2) > 5
pilih * ke dalam #temp_end daripada #temp1 di mana 1=3
Isytihar @i int,@ii int
Isytiharkan @uid int,@col1 varchar(255),@col2 varchar(255)
Isytiharkan kursor Fetch_Query_Cursor untuk UID pilihan, col1, col2 daripada #temp1
Buka Fetch_Query_Cursor
Ambil Seterusnya Dari Fetch_Query_Cursor ke dalam @uid,@col1,@col2
sementara @@Fetch_status = 0
mulakan
pilih @i = 1,@ii=0
sementara @i
mulakan
jika charindex(substring(@col1,@i,1),@col2) > 0
pilih @ii = @ii+1
pilih @i = @i+1
akhir
Jika @ii >=5
Masukkan ke dalam #temp_end pilih * daripada #temp1 di mana Uid = @uid
Ambil Seterusnya Dari Fetch_Query_Cursor ke dalam @uid,@col1,@col2
akhir
Close Fetch_Query_Cursor
Nyahperuntukkan Fetch_Query_Cursor
Pilih * daripada #temp_end
Jatuhkan meja #temp1
Jatuhkan meja #temp_end
String fuzzy query terutamanya melibatkan memasukkan maklumat yang tidak lengkap untuk carian, iaitu, setiap kali carian adalah sama ada kandungan yang ingin ditanya mengandungi kandungan input Jika ya, ini bermakna ia ditemui. Berikut ialah penerangan terperinci tentang kaedah pelaksanaan pertanyaan kabur Kodnya adalah seperti berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include
#include
#include
int main(int argc, const char * argv[])
{
char str[] = "hello selamat datang ke china
printf("masukkan rentetan:n");char str2[20]; //Rentetan untuk ditemui
fgets(str2, 19, stdin);
char *res;
res = memchr(str, str2[0], strlen(str)); //Potong rentetan sumber mengikut aksara pertama rentetan yang ditemui
jika (res == NULL)
{
printf("tidak menemui apa-apa...n");
kembali 0;
}
int n;
sementara (1)
{
n = memcmp(res, str2, strlen(str2) - 1); //Bandingkan
jika (n != 0)
{
if (strlen(res) {
printf("tidak menemui apa-apa...n");
kembali 0;
}
lain
{
//Teruskan memotong berdasarkan watak pertama yang anda ingin cari
res = memchr(res + 1, str2[0], strlen(res));
jika (res == NULL)
{
printf("tidak menemui apa-apa...n");
kembali 0;
}
}
}
lain
{ //Jika n = 0, cari
printf("%s ditemui..n", str2);
kembali 0;
}
}
}
Cara menulis pernyataan pertanyaan SQL fuzzy
2 pilih * dari (nama jadual) di mana (nama carian) seperti '%%' dan id seperti '% (pengenalan)%'
3. Gunakan klausa Suka. Contohnya: Pilih * daripada [Nama Jadual] di mana [Nama] Suka '%SQL%' dan [Pengenalan] seperti '%Perisian%' Ini ialah pertanyaan di mana medan [Nama] mengandungi "SQL" dan medan [Pengenalan] mengandungi "Perisian" " rekod.
4. selet * dari nama pengguna di mana seperti '%小%'pesanan mengikut id ascasc mewakili tertib menaik dan desc mewakili tertib menurun.
Maklumat lanjutan:
Terdapat dua pandangan utama tentang definisi carian kabur.
Pertama, sistem membenarkan perbezaan tertentu antara maklumat yang dicari dan soalan carian. Perbezaan ini ialah maksud "kabur" dalam carian. Contohnya, apabila anda mencari nama Smith, anda akan menemui nama yang serupa Smithe, Smythe, Smyth, Smitt, dsb.
Yang kedua pada dasarnya adalah carian sinonim yang dilakukan secara automatik oleh sistem carian. Sinonim dikonfigurasikan oleh antara muka pentadbiran sistem. Sebagai contoh, selepas mengkonfigurasi "komputer" dan "komputer" sebagai sinonim dan mencari "komputer", halaman web yang mengandungi "komputer" juga akan muncul dalam hasil carian.
Masukkan imej tempatan ke dalam kotak carian imej,
1 Jika gambar anda mempunyai tajuk yang bermakna, seperti "pakaian", maka hasil carian akan memaparkan hasil carian teks yang berkaitan
.
2 Jika tajuk gambar anda tiada makna, hasil carian hanya akan memaparkan gambar yang berkaitan.3. Ketepatan carian berbeza-beza dengan tahap kepuasan yang dicapai oleh gambar-gambar yang berbeza, lebih tepat
Pada masa ini, aplikasi ini boleh dilaksanakan pada enjin carian seperti Google dan Taobao.
Teks carian kabur
Carian enjin carian atau laman web portal: Masukkan teks ke dalam kotak carian dan pilih mod carian kabur untuk mendapatkan hasil yang sepadan.
Carian pangkalan data: Pernyataan pertanyaan kabur am adalah seperti berikut: PILIH medan DARI jadual DI MANA medan tertentu Seperti keadaan.
Mengenai syarat, SQL menyediakan empat mod padanan:
1, %: mewakili mana-mana 0 atau lebih aksara. Boleh memadankan aksara dalam mana-mana jenis dan panjang Dalam sesetengah kes, jika ia adalah bahasa Cina, sila gunakan tanda dua peratus (%%) untuk menyatakannya.
2, _: mewakili mana-mana aksara tunggal. Memadankan satu aksara arbitrari, yang sering digunakan untuk mengehadkan panjang aksara bagi ungkapan:
3 [ ]: Menunjukkan salah satu aksara yang disenaraikan dalam kurungan (serupa dengan ungkapan biasa). Tentukan aksara, rentetan atau julat untuk dipadankan dengan mana-mana daripadanya.
4 [^ ]: Menunjukkan satu aksara yang tidak disenaraikan dalam kurungan. Nilainya adalah sama dengan [], tetapi ia mesti sepadan dengan mana-mana aksara selain daripada aksara yang ditentukan.
5 Apabila kandungan pertanyaan mengandungi kad bebas
Disebabkan kad bebas, penyataan pertanyaan kami untuk aksara khas "%", "_", dan "[" tidak boleh dilaksanakan seperti biasa, bagaimanapun, aksara khas boleh ditanya seperti biasa jika ia disertakan dalam "[ ]".
Dalam pangkalan data yang berbeza, pernyataan carian kabur akan berbeza, yang boleh didapati dalam dokumentasi bantuan sistem.
Sumber rujukan: Ensiklopedia Sogou: Carian kabur
Atas ialah kandungan terperinci Lakukan pertanyaan pangkalan data SQL padanan kabur. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!