Maison  >  Article  >  tutoriels informatiques  >  Effectuer des requêtes de base de données SQL à correspondance floue

Effectuer des requêtes de base de données SQL à correspondance floue

PHPz
PHPzavant
2024-01-23 10:30:05938parcourir

Requête de correspondance floue SQL de base de données

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

Comment implémenter la recherche floue de nombres en langage C

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

1. Supposons que le nom de la table est le produit, le nom du produit est le nom et la limite simplifiée est la remarque. Ensuite, cela peut être écrit comme suit : sélectionnez [nom], [remarque] dans le nom du produit comme '%aa%' ou. remarque comme '%aa%'. Remarque : Le aa entre les guillemets simples ci-dessus représente les caractères saisis dans la requête floue.

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.

Effectuer des requêtes de base de données SQL à correspondance floue

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer