MySQL 텍스트 필드에서 연속 숫자 추출
MySQL에서 다음 쿼리는 2자리 숫자가 포함된 텍스트 필드를 감지할 수 있습니다.
SELECT `id`, `originaltext` FROM `source` WHERE `originaltext` regexp '[0-9][0-9]'
그러나 이러한 숫자를 별도의 필드로 조작하려면 추가 처리가 필요합니다. 다음은 두 가지 잠재적인 솔루션입니다.
LIB_MYSQLUDF_PREG 사용
LIB_MYSQLUDF_PREG는 정규식 기능을 향상시키는 MySQL 라이브러리입니다. 문자열에서 일치 항목을 추출할 수 있는 PREG_CAPTURE와 같은 기능이 도입되었습니다.
이 라이브러리를 사용하려면 MySQL 서버에 설치해야 합니다. 설치한 후에는 다음 쿼리를 사용하여 연속 숫자를 추출할 수 있습니다.
SELECT `id`, PREG_CAPTURE('[0-9][0-9]', `originaltext`) AS `digits` FROM `source`
사용자 정의 MySQL 함수 사용
또는 다음과 같은 사용자 정의 MySQL 함수를 정의할 수 있습니다. 추출을 수행합니다. 예를 들어, 다음 함수는 일치하는 첫 번째 가장 긴 숫자 시퀀스를 추출합니다.
CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT) RETURNS TEXT DETERMINISTIC BEGIN DECLARE s INT DEFAULT 1; ... -- Implementation to extract the matching digits ... END
이 함수를 사용하려면 다음과 같이 호출하세요.
SELECT `id`, REGEXP_EXTRACT(`originaltext`, '[0-9][0-9]') AS `digits` FROM `source`
추가 기준( 숫자 > 20)
숫자가 되어야 하는 기준을 추가하려면 20보다 크면 두 쿼리 중 하나의 WHERE 절에 다음 조건을 추가하면 됩니다.
WHERE `digits` > 20
위 내용은 MySQL 텍스트 필드에서 연속 숫자를 추출하고 추가 기준을 적용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!