Maison  >  Article  >  Opération et maintenance  >  Utilisation intelligente des fonctions de caractères par MYSQL pour le filtrage des données

Utilisation intelligente des fonctions de caractères par MYSQL pour le filtrage des données

小云云
小云云original
2018-01-24 13:36:342003parcourir

Cet article présente principalement une question sur l'utilisation des fonctions de caractères pour filtrer les données dans MYSQL. Les amis qui en ont besoin peuvent s'y référer. J'espère qu'il pourra aider tout le monde.

Description du problème :

Structure :

le test a deux champs,
sont respectivement col1 et col2, les deux sont des champs de caractères, à l'intérieur de
Le le contenu est composé de trois nombres séparés par , et correspondent un à un

Par exemple, le contenu de col1 est : 26,59,6
Le contenu de col2 est : 1502.5,1690,2276.77
La correspondance biunivoque est que la valeur de 26 est 1502,5, 59 est 1690 et 6 correspond à 2276,77


Conditions de recherche :

Sélectionnez un identifiant, tel que 59 , et entrez un nombre, tel que :2000
Recherchez ensuite les enregistrements avec id=59 dans col1, puis recherchez col2 inférieur à 2000, c'est-à-dire 1690f72cd3a01fdaf310fef5ce8a245f13a02000
1520.77<2000


drop table test; 
create table test ( col1 varchar(100),col2 varchar(100)); 
insert test select 
&#39;26,59,6&#39;, &#39;1502.5,1690,2276.77&#39; union all select 
&#39;59,33,6&#39;, &#39;3502.1,1020,2276.77&#39; union all select 
&#39;22,8,59&#39;, &#39;1332.6,2900,1520.77&#39;; 
select col1,col2 
from (select *,find_in_set(&#39;59&#39;,col1) as rn from test) k 
where substring_index(concat(&#39;,&#39;,substring_index(col2,&#39;,&#39;,rn)),&#39;,&#39;,-1) 
 <&#39;2000&#39;;

+---------+-------- -------------+

| col1 |

+--------+-------- -------------+

| 26,59,6 |1502.5,1690,2276.77 |

| 22,8,59 | 1332.6,2900, 1520.77 |

+---------+------- --------------+

Recommandations associées :

php remplace certains caractères dans une fonction de chaîne str_ireplace()

php renvoie un caractère à partir d'une fonction de valeur ASCII spécifiée chr()

Explication détaillée des fonctions de caractère dans la base de données MySQL

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:
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