>  기사  >  운영 및 유지보수  >  MYSQL의 데이터 필터링을 위한 문자 함수의 영리한 사용

MYSQL의 데이터 필터링을 위한 문자 함수의 영리한 사용

小云云
小云云원래의
2018-01-24 13:36:342038검색

이 글은 주로 문자 기능을 사용하여 데이터를 필터링하는 것에 대한 MYSQL 질문을 소개합니다. 필요한 친구들이 참고하면 도움이 될 것입니다.

문제 설명:

구조:

test에는 각각
col1과 col2라는 두 개의 필드가 있으며, 둘 다 문자 필드입니다.
의 내용은 ,

로 구분된 세 개의 숫자입니다.

예를 들어 col1의 내용은 26, 59, 6입니다.
col2의 내용은 1502.5, 1690, 2276.77입니다.
일대일 대응이란 26의 값은 1502.5, 59의 값은 1690, 6을 의미합니다. 2276.77


에 해당합니다. 검색 조건:

59와 같은 ID를 선택하고 2000과 같은 숫자를 입력합니다.
그런 다음 col1에서 id=59인 레코드를 검색한 다음 2000보다 작은 col2를 검색합니다. is, 169023be1246e2b21242e6e12be8350623e72000
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;;

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

| 열1 |

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

| 1502.5,1690,2276.77 |

| 1332.6,2900,1520.77 |

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

관련 권장 사항:

php는 문자열 함수 str_ireplace()

php에서 일부 문자를 대체하고 문자 함수 chr( ) 지정된 ASCII 값에서

MySQL 데이터베이스의 문자 함수에 대한 자세한 설명

위 내용은 MYSQL의 데이터 필터링을 위한 문자 함수의 영리한 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.