이 글은 주로 문자 기능을 사용하여 데이터를 필터링하는 것에 대한 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 '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';
+---------+--------- ------------+
| 열1 |
+---- ---+---- ----+
| 1502.5,1690,2276.77 |
| 1332.6,2900,1520.77 |
+---------+-- ------+
관련 권장 사항:
php에서 일부 문자를 대체하고 문자 함수 chr( ) 지정된 ASCII 값에서
MySQL 데이터베이스의 문자 함수에 대한 자세한 설명
위 내용은 MYSQL의 데이터 필터링을 위한 문자 함수의 영리한 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!