code

Postgresql에서 캐리지 리턴과 새 줄을 제거하는 방법은 무엇입니까?

codestyles 2020. 12. 6. 21:35
반응형

Postgresql에서 캐리지 리턴과 새 줄을 제거하는 방법은 무엇입니까?


모두,

필요한 형식으로 데이터를 가져 오려고 다시 시도하고 있습니다. 다음과 같은 텍스트 필드가 있습니다.

"deangelo 001 deangelo

이름의 지역 기원 : italain

미국 이름 deangelo에서

의미 : 천사의

감정 스펙트럼 • 그는 모두에게 기쁨의 샘입니다.

개인적인 성실성 • 그의 좋은 이름은 그의 가장 소중한 자산입니다. 개성 • 칠면조에 둘러싸여있을 때 독수리와 함께 날아 다니기가 어렵습니다! 관계는 천천히 시작되지만 deangelo와의 관계는 시간이 지남에 따라 형성됩니다. 여행 및 여가 • 일생의 여행이 그의 미래입니다.

경력과 돈 • 재능있는 아이, deangelo는 끊임없이 도전해야 할 것입니다.

삶의 기회 • 기쁨과 행복이이 축복받은 사람을 기다리고 있습니다.

deangelo의 행운의 숫자 : 12 • 38 • 18 • 34 • 29 • 16

"

캐리지 리턴과 새 줄을 제거하는 가장 좋은 방법은 Postgresql에서 무엇입니까? 나는 여러 가지를 시도했지만 그들 중 누구도 행동하고 싶지 않습니다.

select regexp_replace(field, E'\r\c', '  ', 'g') from mytable
    WHERE id = 5520805582

SELECT regexp_replace(field, E'[^\(\)\&\/,;\*\:.\>\<[:space:]a-zA-Z0-9-]', ' ')
    FROM mytable
    WHERE field~ E'[^\(\)\&\/,;\*\:.\<\>[:space:]a-zA-Z0-9-]'
    AND id = 5520805582;

미리 감사드립니다, Adam


select regexp_replace(field, E'[\\n\\r]+', ' ', 'g' )

http://www.postgresql.org/docs/current/static/functions-matching.html 설명서를 읽으십시오 .


select regexp_replace(field, E'[\\n\\r\\u2028]+', ' ', 'g' )

내 postgres d / b에서 같은 문제가 있었지만 문제의 줄 바꿈은 전통적인 ascii CRLF가 아니었고 유니 코드 줄 구분 기호 문자 U2028이었습니다. 위의 코드 스 니펫은 해당 유니 코드 변형도 캡처합니다.

업데이트 ... 앞서 언급 한 "야생"문자를 만난 적이 있지만 더 많은 유니 코드 개행 문자 를 번역하라는 lmichelbacher의 조언을 따르려면 다음을 사용하십시오.

select regexp_replace(field, E'[\\n\\r\\f\\u000B\\u0085\\u2028\\u2029]+', ' ', 'g' )

거기 다른 문자뿐만 아니라 뉴 라인의 숫자에 대한 관심은,하지만 사람들을 위해 나타납니다 이후 영업 이익은 정규 표현식에 대해 구체적으로 질문 단지 뉴 라인 밖으로 원하는 스트립, 당신도 정규식에 갈 필요가 없습니다. 간단하게 다음을 수행 할 수 있습니다.

select replace(field,E'\n','');

나는 이것이 SQL 표준 동작이라고 생각하므로 Postgres의 가장 초기 버전을 제외한 모든 버전으로 확장되어야합니다. 위의 9.4 및 9.2에서 잘 테스트되었습니다.


문자열의 시작 또는 끝에서 줄 바꿈을 제거해야하는 경우 다음을 사용할 수 있습니다.

UPDATE table 
SET field = regexp_replace(field, E'(^[\\n\\r]+)|([\\n\\r]+$)', '', 'g' );

모자 ^는 문자열의 시작을 $의미하고 달러 기호 는 문자열의 끝을 의미합니다.

누군가를 돕기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/7836906/how-to-remove-carriage-returns-and-new-lines-in-postgresql

반응형