0
I PostgreSQL의 데이터의 세트를 가지고substring-with-regex match의 결과를 어떻게 다듬을 수 있습니까?
en_MY_V2_CID_MY_SEM_1_1_0_0
en_MY_V2_CID_MY_SEM_2_101_1703_0
en_MY_V2_CID_MY_SEM_2_101_1724_0
en_MY_CID_MY_DIS_1_100_1705_0068
en_MY_CID_MY_DIS_1_100_1705_0068
I는 다음과 같은 문자열 추출 할 :
en_MY_V2_CID_MY_SEM_1
en_MY_V2_CID_MY_SEM_2
en_MY_V2_CID_MY_SEM_2
en_MY_CID_MY_DIS_1
en_MY_CID_MY_DIS_1
문제를 좌측 구조 때문에 그럴 수 일정하지 정규식을 사용하여 그들을 파악하십시오. 대신 오른쪽 구조 은 상수이며 형식은 _numbers_numbers_numbers_numbers
입니다.
select substring(name from '_\d+_\d+_\d+$') from logs;
를 얻을 : 그래서 PostgreSQL을에 사용이 쿼리를 수행하려고
1_0_0
101_1703_0
101_1724_0
100_1705_0068
1705_0068
그래서, 어떻게 내가 내 결과를 얻을 부정, 또는 이전의 문자열을 잘라 않는 한 질문?
또는 단순한'을 선택 REGEXP_REPLACE (이름, E '_ \\ D + _ \\ D + _ \\ D + $', '') 로그에서,' – bart
모두 솔루션 작동, 무리들 감사합니다! – Khairul