이 글은 주로 문자 기능을 사용하여 데이터를 필터링하는 것에 대한 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, 1690<2000
예:
다음 세 개의 레코드가 있는 경우 ID가 59이고 값이 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
검색결과 이 3개 레코드의 ID가 59로 확인되었고, 두 번째 검색조건은 (즉, 숫자를 이용)로 판단했습니다. 비교할 ID 위치에 해당):
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';
+---------+--------- ------------+
| 열1 |
+---- ---+---- ----+
| 1502.5,1690,2276.77 |
| 1332.6,2900,1520.77 |
+---------+-- ------+
관련 권장 사항:
php에서 일부 문자를 대체하고 문자 함수 chr( ) 지정된 ASCII 값에서
MySQL 데이터베이스의 문자 함수에 대한 자세한 설명
위 내용은 MYSQL의 데이터 필터링을 위한 문자 함수의 영리한 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!