> 데이터 베이스 > MySQL 튜토리얼 > MySQL 텍스트 필드에서 20보다 큰 연속 숫자를 추출하고 필터링하려면 어떻게 해야 합니까?

MySQL 텍스트 필드에서 20보다 큰 연속 숫자를 추출하고 필터링하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-11-30 18:37:14
원래의
522명이 탐색했습니다.

How Can I Extract and Filter Consecutive Digits Greater Than 20 from a MySQL Text Field?

MySQL에서 두 개의 연속 숫자 추출

제공된 SQL 쿼리는 두 개의 연속 숫자가 포함된 텍스트 필드를 성공적으로 식별합니다. 그러나 이러한 숫자를 별도의 필드로 추출하려면 쿼리에 추가 기능을 통합하는 것을 고려하십시오.

옵션 1: LIB_MYSQLUDF_PREG 활용

이 오픈 소스 라이브러리는 향상된 정규 기능을 제공합니다. MySQL의 표현 기능. 문자열에서 일치 항목을 추출할 수 있는 PREG_CAPTURE와 같은 기능을 제공합니다. 이러한 함수에 액세스하려면 이 라이브러리를 설치하고 구성하십시오.

옵션 2: 정규식 추출을 위한 사용자 정의 함수

REGEXP_EXTRACT와 같은 사용자 정의 함수를 생성하여 가장 긴 일치 하위 문자열을 추출합니다. 제공된 정규식을 기반으로 합니다. 이 함수는 '^' 및 '$' 구분 기호 포함과 같은 특정 요구 사항을 처리하도록 미세 조정할 수 있습니다.

REGEXP_EXTRACT 함수는 특정 요구 사항에 맞게 수정할 수 있습니다.

CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT)
RETURNS TEXT
DETERMINISTIC
BEGIN
  ... (function code goes here)
END
로그인 후 복사

추가 기준: 다음보다 큰 숫자 20

숫자를 필드로 추출한 후에는 쿼리에 추가 필터링을 적용할 수 있습니다.

SELECT `id`, `number_extracted`
FROM (
  SELECT `id`, `originaltext`
  FROM `source`
  WHERE `originaltext` REGEXP '[0-9][0-9]'
) AS subquery
WHERE `number_extracted` > 20
로그인 후 복사

이 확장 쿼리는 추출된 숫자가 20을 초과하는 행을 반환합니다. . 이러한 기술을 결합하면 MySQL 쿼리를 구체화하여 필요에 따라 연속 숫자를 추출하고 조작할 수 있습니다.

위 내용은 MySQL 텍스트 필드에서 20보다 큰 연속 숫자를 추출하고 필터링하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿