programing

두 문자열 사이의 MySQL 하위 문자열

sourcejob 2023. 10. 11. 20:41
반응형

두 문자열 사이의 MySQL 하위 문자열

저는 제 칼럼 분야의 문제를 해결할 수 있는 도움이 필요합니다.예를 들어 두 개의 서로 다른 "패턴"의 문자열 사이에서 문자열을 추출해야 합니다.

[...스트링] 계약서= 123456789012335056607607066 발급= [스트링...]

'contract='와 'issued=' 사이의 문자열을 추출하고 싶습니다.

지금 제가 사용하고 있는 것은

SELECT substring(substring_index(licence_key,'contract=',-1),1,40) FROM table

문제는 그 사이에 있는 이 문자열이 항상 40자가 있는 것은 아니기 때문에 길이가 고정되어 있지 않아서 그 이전과 이후에 오는 데이터입니다.변동성이 큰 데이터입니다.

제가 어떻게 대처해야 하는지 아세요?

그냥 사용.substring_index()2회:

SELECT substring_index(substring_index(licence_key, 'contract=', -1),
                       'issued=', 1)
FROM table;

이 문자열이 일치하지 않으면 총 결과를 제공합니다.

교체를 원하시면 이렇게 사용하시면 됩니다.

UPDATE questions set question= REPLACE(question, '<xml></xml>', '') WHERE question like '%<xml>%';

UPDATE questions set question= REPLACE(question, substring_index(substring_index(question, '<xml>', -1), '</xml>', 1), '') WHERE question like '%<xml>%';

언급URL : https://stackoverflow.com/questions/28431268/mysql-substring-between-two-strings

반응형