MySql 쉼표 문자열 을 연결 하여 조회 하 는 두 가지 방법
FIND_IN_SET
와 마찬가지 로 사용 시FIND_IN_SET
를FIND_PART_IN_SET
또는FIND_ALL_PART_IN_SET
로 바 꾸 기만 하면 된다.예 를 들 어 어떤 필드 에 서 는 1,2,3,4,5 입 니 다.
사용 방법:
첫 번 째,1,3,6 들 어 갑 니 다. 알 아 낼 수 있 습 니 다.
select * from XXX where FIND_PART_IN_SET('1,3,6','1,2,3,4,5')
두 번 째,1,3,6 들 어 갑 니 다. 알 아내 지 못 하 다
select * from XXX where FIND_ALL_PART_IN_SET('1,3,6','1,2,3,4,5')
함수:첫 번 째:그 중 하 나 를 포함 하면 밝 혀 질 수 있다.
CREATE DEFINER = `root`@`%` FUNCTION `NewProc`(str1 text,str2 text)
RETURNS text
BEGIN
# , split
DECLARE CURRENTINDEX INT;#
DECLARE CURRENTSTR text;
DECLARE result int;
set result = 0;
set CURRENTINDEX = 0;
set CURRENTSTR = '';
IF str1 IS NOT NULL AND str1 != '' THEN
SET CURRENTINDEX = LOCATE(',',str1);
WHILE CURRENTINDEX > 0 DO
SET CURRENTSTR = substring(str1,1,CURRENTINDEX-1);
if FIND_IN_SET(CURRENTSTR,str2) THEN
set result = 1;
end if;
SET str1 = substring(str1,CURRENTINDEX+1);
SET CURRENTINDEX = LOCATE(',',str1);
END WHILE;
#
IF LENGTH(str1) > 0 THEN
if FIND_IN_SET(str1,str2) THEN
set result = 1;
end if;
END IF;
END IF;
RETURN result;
END;
두 번 째:모두 포함 되 어야 밝 혀 질 수 있 습 니 다.
CREATE DEFINER = `root`@`%` FUNCTION `NewProc`(str1 text,str2 text)
RETURNS text
BEGIN
# , split
DECLARE CURRENTINDEX INT;#
DECLARE CURRENTSTR text;
DECLARE RESULT int;
DECLARE TOTALCOUNT int;
DECLARE TRUECOUNT int;
set RESULT = 0;
set CURRENTINDEX = 0;
set CURRENTSTR = '';
set TOTALCOUNT = 0;
set TRUECOUNT = 0;
IF str1 IS NOT NULL AND str1 != '' THEN
SET CURRENTINDEX = LOCATE(',',str1);
WHILE CURRENTINDEX > 0 DO
SET TOTALCOUNT = TOTALCOUNT + 1;
SET CURRENTSTR = substring(str1,1,CURRENTINDEX-1);
if FIND_IN_SET(CURRENTSTR,str2) THEN
SET TRUECOUNT = TRUECOUNT + 1;
end if;
SET str1 = substring(str1,CURRENTINDEX+1);
SET CURRENTINDEX = LOCATE(',',str1);
END WHILE;
#
IF LENGTH(str1) > 0 THEN
SET TOTALCOUNT = TOTALCOUNT + 1;
if FIND_IN_SET(str1,str2) THEN
SET TRUECOUNT = TRUECOUNT + 1;
end if;
END IF;
END IF;
IF TOTALCOUNT > 0 AND TRUECOUNT = TOTALCOUNT THEN
SET RESULT = 1;
END IF;
RETURN result;
END;
총결산위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 MySql 쉼표 맞 춤 문자열 조회 의 두 가지 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL에서 JSON 인덱싱 - aarondfrancis사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 말하지만 완전히 정확하지는 않습니다. MySQL로 JSON 열을 인덱싱하는 것은 완전히 가능합니다! 사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.