Maison > Article > tutoriels informatiques > Effectuer des requêtes de base de données SQL à correspondance floue
Environnement SQL Server, si l'environnement est mauvais, merci de vous référer aux idées pour le modifier vous-même
sélectionnez * dans #temp1 de la table1 où len(col1) > 5 et len(col2) > 5
sélectionnez * dans #temp_end à partir de #temp1 où 1=3
Déclarez @i int,@ii int
Déclarez @uid int,@col1 varchar(255),@col2 varchar(255)
Déclarez le curseur Fetch_Query_Cursor pour sélectionner UID, col1, col2 à partir de # temp1
Ouvrez Fetch_Query_Cursor
Récupérer le suivant de Fetch_Query_Cursor dans @uid,@col1,@col2
tandis que @@Fetch_status = 0
commencer
sélectionnez @i = 1,@ii=0
pendant que @i
commencer
if charindex(substring(@col1,@i,1),@col2) > 0
sélectionnez @ii = @ii+1
sélectionnez @i = @i+1
fin
Si @ii >=5
Insérer dans #temp_end select * from #temp1 où Uid = @uid
Récupérer le suivant de Fetch_Query_Cursor dans @uid,@col1,@col2
fin
Fermer Fetch_Query_Cursor
Désallouer Fetch_Query_Cursor
Sélectionnez * dans #temp_end
Déposez la table #temp1
Déposez la table #temp_end
La requête floue de chaîne implique principalement la saisie d'informations incomplètes pour la recherche, c'est-à-dire que chaque fois que la recherche consiste à voir si le contenu à interroger contient le contenu d'entrée. Si tel est le cas, cela signifie qu'il a été trouvé. Ce qui suit est une explication détaillée de la méthode d'implémentation de la requête floue. Le code est le suivant :
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
#inclure
#inclure
#inclure
int main(int argc, const char * argv[])
{
char str[] = "bonjour, bienvenue en Chine
printf("saisissez une chaîne:n");char str2[20]; //La chaîne à trouver
fgets(str2, 19, stdin);
char *res;
res = memchr(str, str2[0], strlen(str)); //Coupe la chaîne source en fonction du premier caractère de la chaîne à trouver
si (res == NULL)
{
printf("ne trouve rien...n");
retour 0;
}
int n;
pendant (1)
{
n = memcmp(res, str2, strlen(str2) - 1 //Comparez
);
si (n != 0){
if (strlen(res) {
printf("ne trouve rien...n");
retour 0;
}
autre
{
//Continuez le découpage en fonction du premier personnage que vous souhaitez retrouver
res = memchr(res + 1, str2[0], strlen(res));
si (res == NULL)
{
printf("ne trouve rien...n");
retour 0;
}
}
}
autre
{ //Si n = 0, trouvez
printf("%s est trouvé..n", str2);
retour 0;
}
}
}
Comment écrire une instruction de requête floue SQL
2. sélectionnez * à partir de (nom de la table) où (nom de recherche) comme '%%' et l'identifiant comme '% (introduction)%'
3. Utilisez la clause Like. Par exemple : Sélectionnez * dans [TableName] où [Name] Like '%SQL%' et [Introduction] like '%Software%'. Il s'agit de la requête dans laquelle le champ [Name] contient "SQL" et le champ [Introduction] contient "Logiciel" " enregistrement de.
4. selet * from userwhere name like '%小%'order by id ascasc représente l'ordre croissant et desc représente l'ordre décroissant.
Informations détaillées :
Il existe deux points de vue principaux sur la définition de la recherche floue.
Premièrement, le système permet une certaine différence entre les informations recherchées et les questions de recherche. Cette différence est le sens de « flou » dans la recherche. Par exemple, lorsque vous recherchez le nom Smith, vous trouverez des noms similaires Smithe, Smythe, Smyth, Smitt, etc.
La seconde est essentiellement une recherche de synonymes effectuée automatiquement par le système de recherche. Les synonymes sont configurés par l'interface d'administration du système. Par exemple, après avoir configuré « ordinateur » et « ordinateur » comme synonymes et recherché « ordinateur », les pages Web contenant « ordinateur » apparaîtront également dans les résultats de recherche.
Entrez les images locales dans le champ de recherche d'images,
1. Si votre photo a un titre significatif, tel que « vêtements », alors les résultats de la recherche afficheront des résultats de recherche de texte pertinents
2. Si le titre de votre image n'a aucune signification, les résultats de la recherche afficheront uniquement les images associées.
3. La précision de la recherche varie en fonction du degré de satisfaction obtenu par les différentes images, plus elles sont précises.
Actuellement, cette application peut être implémentée sur les moteurs de recherche tels que Google et Taobao.
Recherche floue de texte
Recherche sur un moteur de recherche ou sur un portail : saisissez du texte dans la zone de recherche et sélectionnez le mode de recherche floue pour obtenir des résultats correspondants.
Recherche dans la base de données : l'instruction de requête floue générale est la suivante : SELECT field FROM table WHERE certain field Like condition.
Concernant les conditions, SQL propose quatre modes de correspondance :
1, % : représente 0 caractère ou plus. Peut correspondre à des caractères de n'importe quel type et longueur. Dans certains cas, s'il s'agit de chinois, veuillez utiliser des signes de deux pour cent (%%) pour l'exprimer.
2, _ : représente n'importe quel caractère. Correspond à un seul caractère arbitraire, souvent utilisé pour limiter la longueur des caractères des expressions :
3. [ ] : Indique l'un des caractères répertoriés entre parenthèses (semblable à une expression régulière). Spécifiez un caractère, une chaîne ou une plage correspondant à l'un d'entre eux.
4. [^ ] : Indique un seul caractère non répertorié entre parenthèses. Sa valeur est la même que celle de [], mais elle doit correspondre à tout caractère autre que le caractère spécifié.
5. Lorsque le contenu de la requête contient des caractères génériques
En raison des caractères génériques, nos instructions de requête pour les caractères spéciaux "%", "_" et "[" ne peuvent pas être implémentées normalement. Cependant, les caractères spéciaux peuvent être interrogés normalement s'ils sont placés entre "[ ]".
Dans différentes bases de données, les instructions de recherche floue seront différentes, et peuvent être trouvées dans la documentation d'aide du système.
Source de référence : Encyclopédie Sogou : Recherche floue
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!