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 1690<2000
Par exemple :
S'il y a les trois enregistrements suivants, l'identifiant de recherche est 59, enregistrements avec des valeurs inférieures à 2000 :
26,59,6 | 1502.5,1690,2276.77
59,33 ,6 | 3502.1,1020,2276.77
22,8,59 | 1332.6, 2900,1520.77
La recherche a révélé que l'ID de ces trois enregistrements est 59, puis a jugé que la deuxième condition de recherche devrait être (c'est-à-dire comparer les nombres correspondant aux positions d'identification) :
1690<2000
3502.1>2000
1520.77<2000
drop table test; create table test ( col1 varchar(100),col2 varchar(100)); insert test select '26,59,6', '1502.5,1690,2276.77' union all select '59,33,6', '3502.1,1020,2276.77' union all select '22,8,59', '1332.6,2900,1520.77'; select col1,col2 from (select *,find_in_set('59',col1) as rn from test) k where substring_index(concat(',',substring_index(col2,',',rn)),',',-1) <'2000';
+---------+-------- -------------+
| 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!