Maison base de données tutoriel mysql Parlez du problème des champs de requête SQL inclus dans les instructions

Parlez du problème des champs de requête SQL inclus dans les instructions

Aug 11, 2017 pm 03:08 PM
Inclure 字段 语句

En parlant de requêtes floues SQL, la première chose qui vient à l'esprit devrait être le mot-clé like. Lorsque nous devons interroger des données contenant un champ spécifique, nous utilisons souvent la méthode de requête « %keyword% ». Pour des exemples de code spécifiques, veuillez vous référer à cet article

Avant-propos

Quand il s'agit de requêtes floues en SQL, la première chose qui vient à l'esprit l'esprit devrait être le mot-clé similaire.

Lorsque nous devons interroger des données contenant un champ spécifique, nous utilisons souvent la méthode de requête '%keyword%'. Par exemple :


SELECT ... FROM 表名 WHERE 字段名 LIKE '%关键字%'
Copier après la connexion

Cela doit être considéré comme une méthode typique « contient XXX », mais que se passe-t-il si nous devons interroger des données dont les champs sont contenus dans des caractères spécifiques ? ?

Par exemple, j'ai une table de données de contact ConnectName, qui comporte un champ pour enregistrer les noms. Je veux obtenir les coordonnées de personnes nommées Xiaolan et Haiyuan. Dans des circonstances normales, la première chose à laquelle nous pouvons penser est :


SELECT * FROM ConnectName 
WHERE
  name = '小兰'
  OR name = '灰原'
Copier après la connexion

Cette approche peut atteindre cet objectif. Si à ce moment-là, je veux soudainement vérifier une autre personne, comme "Conan", alors nous devons modifier la structure SQL et ajouter une phrase conditionnelle Where :


SELECT * FROM ConnectName 
WHERE
  name = '小兰'
  OR name = '灰原'
  OR name = '柯南'
Copier après la connexion

Nous savons que la requête conditionnelle OR elle-même est inefficace et que l'instruction de changement structurel est un peu plus difficile à implémenter dans MyBatis (bien sûr, elle peut également être implémentée, il suffit de parcourir les champs insérés).

Est-ce que ça peut être plus simple ? Puis-je rassembler tous les mots-clés et n’utiliser qu’une seule condition Where pour y parvenir ?

CHARINDEX apparaît

À ce stade, nous pouvons utiliser le mot-clé CHARINDEX peut renvoyer un certain champ qui apparaît dans une chaîne de texte. La position est similaire à l'utilisation de l'indexOf de String Sans plus tarder, donnons une châtaigne :


CHARINDEX('李白','曹操很帅') =0
Copier après la connexion

Dans la châtaigne ci-dessus, elle n'est pas incluse car Cao Cao. est très beau. Le mot-clé Li Bai, donc il est introuvable, et 0 est renvoyé l'index des caractères, donc 1.

est renvoyé. Après avoir compris comment l'utiliser, nous pouvons utiliser le mot-clé CHARINDEX pour optimiser. notre instruction SQL :

CHARINDEX('李白','李白很帅') =1
Copier après la connexion

Si le nom correspondant au champ nom apparaît dans 'Conan Xiaolan Haibara', alors la fonction CHARINDEX retournera supérieur à 1, et nous pouvons obtenir les données que nous voulons (les trois peuvent également jouer ensemble) ^-^)

L'implémentation mybatis correspondante est également relativement simple

SELECT * FROM ConnectName 
WHERE
  CHARINDEX(name ,'小兰灰原柯南')>0
Copier après la connexion

Si nous voulons ajouter une nouvelle personne plus tard, comme Mouri Kogoro, il vous suffit d'ajouter 'Xiaolan Haibara Conan Mouri Kogoro' aux paramètres entrants.

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment déterminer si un champ est vide en PHP ? Comment déterminer si un champ est vide en PHP ? Mar 20, 2024 pm 03:09 PM

PHP est un langage de script largement utilisé dans le développement de sites Web. Pour les développeurs, il est souvent nécessaire de déterminer si un champ est vide. En PHP, déterminer si un champ est vide peut être réalisé grâce à quelques méthodes simples. Cet article explique comment déterminer si un champ est vide en PHP et fournit des exemples de code spécifiques pour votre référence. En PHP, vous pouvez généralement utiliser la fonction empty() ou la fonction isset() pour déterminer si un champ est vide. Ensuite, nous introduisons respectivement l’utilisation de ces deux fonctions. Utilisez la fonction vide()

NoSuchFieldError en Java - Solution au champ introuvable NoSuchFieldError en Java - Solution au champ introuvable Jun 25, 2023 am 11:33 AM

NoSuchFieldError en Java - Solution au champ introuvable Java est un langage de programmation de haut niveau largement utilisé dans les applications d'entreprise et le traitement de données à grande échelle. Pendant le processus de développement de Java, des erreurs telles que NoSuchFieldError peuvent survenir. Cette erreur signifie que la JVM ne peut pas trouver le champ requis au moment de l'exécution. Dans cet article, nous examinerons de plus près NoSuchFieldError et comment le résoudre. Qu'est-ce que NoSuchFieldE

Que signifie le champ MySQL ? Que signifie le champ MySQL ? Jul 10, 2023 pm 02:14 PM

Un champ MySQL est une colonne d'un type et d'une longueur spécifiques dans une table de base de données MySQL utilisée pour stocker des données. Dans MySQL, chaque champ doit avoir un type de données spécifique. Les types de données courants incluent les entiers, les nombres à virgule flottante, les chaînes, les dates et les heures. Ces types de données déterminent les données que MySQL peut stocker dans chaque champ.

Comment ajouter des champs à la table de la base de données Comment ajouter des champs à la table de la base de données Mar 18, 2021 pm 02:13 PM

Méthodes pour ajouter des champs dans la table : 1. Utilisez l'instruction "ALTER TABLE table name ADD new field name data type ;" pour ajouter des champs à la fin ; 2. Utilisez l'instruction "ALTER TABLE table name ADD new field name data type FIRST ; " pour l'ajouter au début du champ ; 3. Utilisez l'instruction "ALTER TABLE nom de table ADD nouveau type de données de nom de champ [contraintes] AFTER nom de champ existant ;" pour ajouter un champ au milieu.

instruction multi-catch en PHP8.0 instruction multi-catch en PHP8.0 May 14, 2023 pm 01:51 PM

Avec le développement des applications Web, le langage PHP a été largement utilisé dans le développement Web. Dans la version PHP8.0, une nouvelle fonctionnalité de langage a été introduite : l'instruction multi-catch. Qu'est-ce qu'une déclaration multi-catch ? Dans les versions précédentes de PHP, les développeurs devaient écrire plusieurs instructions catch pour gérer plusieurs types d'exceptions. Par exemple, le bloc de code suivant montre la gestion de deux exceptions différentes : try{//Somecodethatmay

Comment implémenter l'instruction pour déverrouiller la table dans MySQL ? Comment implémenter l'instruction pour déverrouiller la table dans MySQL ? Nov 08, 2023 pm 06:28 PM

Comment implémenter l'instruction pour déverrouiller la table dans MySQL ? Dans MySQL, les verrous de table sont un mécanisme de verrouillage couramment utilisé pour protéger l'intégrité et la cohérence des données. Lorsqu'une transaction lit et écrit dans une table, les autres transactions ne peuvent pas modifier la table. Ce mécanisme de verrouillage garantit dans une certaine mesure la cohérence des données, mais peut également provoquer le blocage d'autres transactions. Par conséquent, si une transaction ne peut pas continuer pour une raison quelconque, nous devons déverrouiller manuellement la table afin que les autres transactions puissent continuer. MySQL fournit une variété de

Comment savoir si une chaîne contient des caractères spécifiques en utilisant JavaScript ? Comment savoir si une chaîne contient des caractères spécifiques en utilisant JavaScript ? Oct 21, 2023 am 08:23 AM

Comment savoir si une chaîne contient des caractères spécifiques en utilisant JavaScript ? En JavaScript, nous pouvons utiliser plusieurs méthodes pour déterminer si une chaîne contient des caractères spécifiques. Trois méthodes couramment utilisées seront présentées ci-dessous et des exemples de code correspondants seront donnés. Méthode 1 : utiliser la méthode indexOf() Vous pouvez utiliser la méthode indexOf() de la chaîne pour déterminer si une chaîne contient les caractères spécifiés. Il renvoie l'index de la première occurrence d'un caractère spécifique dans une chaîne, tel que

Quels sont les packages nécessaires pour que jQuery soit introduit ? Quels sont les packages nécessaires pour que jQuery soit introduit ? Feb 23, 2024 pm 12:00 PM

jQuery est une bibliothèque JavaScript bien connue qui fournit des fonctions simples et puissantes pour simplifier la programmation JavaScript. Lors de l'introduction de jQuery dans votre projet Web, vous devez ajouter le code suivant au fichier HTML pour introduire les packages nécessaires : Ma page Web

See all articles