MySQL 5.7.27에서 REGEXP_REFACE() 대안 찾기
작업 중인 프로젝트 중 하나에 대해 다음과 같은 질문을 했습니다(On MariaDB 10.1.37).
SELECT * FROM table WHERE REGEXP_REPLACE(substring_index(product,' ',1), '[^a-zA-Z ]', '')='VALUE'
목표는 다음과 같습니다.
1) from value select part to first space: 예제VALUE1 SOME OTHER
갖기 위해VALUE1
2) 숫자와 다른 기호를 제거하려면: 예제VALUE1
갖기 위해VALUE
그리고 위의 쿼리는 필요에 따라 효과를 발휘합니다!
문제는 클라이언트 측에 MySQL 5.7.27이 있고 우리가 알고 있듯이 REGEXP_REFACE()가 8+ 버전의 MySQL에 들어왔다는 것입니다.
지금은 클라이언트를 MySQL 8+로 업그레이드하거나 MariaBD로 마이그레이션할 수 있는 옵션이 없으므로 MySQL 5.7.27에서 동일한 결과를 어떻게 얻을 수 있는지가 문제입니다.
나는 검색을 시도했고 시도했습니다.WHERE substring_index(product,' ',1) REGEXP '^a-zA-Z' = 'VALUE'
하지만 REGEXP는 1 또는 0을 반환하며, 가치가 필요하기 때문에 제게 적합한 것은 아닙니다. …
도와줄 사람?
미리 감사드립니다!
제 동료들이 MYSQL 5.5에 있기 때문에 REGEXP_REFACE()도 없기 때문에 해결책을 찾고 있었습니다.
stackOverFlow에서 한 개의 char만 교체할 수 있는 솔루션을 쉽게 찾을 수 있지만 문자열을 찾을 수 없어 이 코드를 만들었습니다. 누군가에게 도움이 될 수 있습니다.
SET @string = 'I love shop it is a terrific shop, I love eveything about it';
SET @shop_code = 'shop';
SET @shop_date = CONCAT(@shop_code, '__', DATE_FORMAT(NOW(), '%Y_%m_%d__%Hh%im%ss'));
SET @part1 = SUBSTRING_INDEX(@string, @shop_code, 1);
SET @shop_nb = ROUND( (LENGTH(@string) - LENGTH(REPLACE(@string, @shop_code,''))) / LENGTH(@shop_code) );
SET @part2 = SUBSTRING_INDEX(@string, @shop_code, -@shop_nb);
SET @string = CONCAT(@part1, @shop_date, @part2);
SELECT @string;
이것은 최종적인 답변이 아니며, 만약 누군가가 제가 질문한 것에 대한 좋은 또는 더 가까운 예를 가지고 있다면, 먼저 가서 답변을 게시하세요.저는 그것을!
제가 한 것은 그냥 사용한 것입니다.LIKE
SELECT * FROM table WHERE substring_index(product,' ',1) LIKE 'VALUE%'
어떤 경우에는 잘못된 데이터를 보여줄 수도 있다는 것을 알고 있지만, 제가 필요로 하는 이 방법은 받아들일 수 있습니다.
MySQL 5.7에서 작동합니다.다음 예는 URL의 쿼리 문자열에서 UTM_Source 매개 변수 값을 추출하는 것입니다.
case when url like '%utm_source%' then
substring(
url,
locate('utm_source=',url)+char_length('utm_source='),
case when locate('&',url,locate('utm_source=',url)) = 0 then char_length(url)+1 else locate('&',url,locate('utm_source=',url)) end - (locate('utm_source=',url)+char_length('utm_source='))
) else NULL end utm_source;
언급URL : https://stackoverflow.com/questions/59319704/looking-for-regexp-replace-alternative-on-mysql-5-7-27
'programing' 카테고리의 다른 글
jQuery를 사용하여 미립자 링크 클릭 시 부트스트랩 탐색 탭의 특정 탭을 여는 방법? (0) | 2023.10.24 |
---|---|
excel xml 셀 속성 값은 무엇을 의미합니까? (0) | 2023.10.24 |
Resttemplate getForEntity - 헤더 전달 (0) | 2023.10.24 |
WordPress - 오류 로그 타임스탬프 시간대를 로컬로 설정하려면 어떻게 해야 합니까? (0) | 2023.10.24 |
노드 MySQL 이스케이프 LIKE 문 (0) | 2023.10.24 |