utf 인코딩 된 문자열의 끝에는 Zwnj (너비가 아닌 비 연결자)가 포함되어 데이터베이스에 저장됩니다. select 문에서 해당 문자를 제거 할 수 있습니까? 나는 trim()을 시도했지만 작동하지 않습니다.select 문에서 postgres의 문자열에서 zwnj 문자를 제거합니다.
답변
CREATE TABLE test (x text);
INSERT INTO test VALUES (E'abc');
INSERT INTO test VALUES (E'foo\u200C'); -- U+200C = ZERO WIDTH NON-JOINER
SELECT x, octet_length(x) FROM test;
x │ octet_length
─────┼──────────────
abc │ 3
foo │ 6
(2 rows)
CREATE TABLE test2 AS SELECT replace(x, E'\u200C', '') AS x FROM test;
SELECT x, octet_length(x) FROM test2;
x │ octet_length
─────┼──────────────
abc │ 3
foo │ 3
(2 rows)
당신은 트림 대신 replace(your_column, 'Zwnj','')
를 사용해야합니다()
@ahwnn이 작동하지 않습니다. 대체 (kan_text, 'zwnj', ''), 대체 (kan_text, '& Zwnj', '')를 시도했습니다. 쿼리가 실행되면 끝에는 파이프 기호처럼 보이는 문자가 있습니다. – kiranking
zwnj는 당신이 우리에게 준 예입니다. (나는 그것이 무엇인지 알지 못합니다). 물론 교체 할 실제 캐릭터로 교체해야합니다. –
@kiranking : 이스케이프 처리 된 문자열 리터럴을 작성하여 백 슬래시 이스케이프 시퀀스 16 진수 또는 유니 코드를 사용하여 문자를 나타낼 수 있습니다. 'replace (your_column, E '\ u9876', '')'(유니 코드 리터럴로'9876'을 대체)와 같은 것입니다. http://www.postgresql.org/docs/9.1/static/sql-syntax-lexical.html#SQL-BACKSLASH-TABLE – kgrittn
- 1. URL의 문자열에서 문자를 제거합니다.
- 2. SQL Select 문에서 함수
- 3. select 문에서 값 업데이트
- 4. mysql select 문에서 업데이트
- 5. 반복 된 문자를 완전히 제거합니다 (regex/C#)
- 6. 문자열에서 과도한 들여 쓰기를 지능적으로 제거합니다.
- 7. .NET 문자열 할당로 문자를 제거합니다.
- 8. SMS에서 지원되지 않는 문자를 제거합니다.
- 9. Linq select 문에서 분할 문자열
- 10. MySql If Then Select 문에서
- 11. select 문에서 pysqlite 사용자 유형
- 12. select 문에서 여러 인스턴스 바꾸기
- 13. Select 문에서 FK Guid 업데이트
- 14. SQL SELECT 문에서 조건 부여
- 15. SELECT 문에서 변수에 값을 저장하십시오.
- 16. SELECT 문에서 두 필드를 결합
- 17. PLSQL SELECT 문에서 변수 사용
- 18. SELECT 문에서 foreign_key에 문자 추가
- 19. select 문에서 변수를 선언하는 방법
- 20. select 문에서 매개 변수 설정
- 21. Excel의 문자열에서 문자를 제거하십시오.
- 22. C에서 문자열에서 문자를 제거
- 23. VB.NET 문자열에서 문자를 제거
- 24. Postgres의 OPENXML
- 25. preg_replace는 비 인쇄 문자를 제거합니다. 외래 문자도 모두 제거합니다.
- 26. Oracle regexp - 문자열에서 후행 밑줄과 숫자를 제거합니다.
- 27. 문자열에서 영숫자가 아닌 문자 (ß, Ê 등)를 제거합니다.
- 28. 문자열에서 반복되는 문자를 제거하는 방법
- 29. 자바 문자열에서 특정 문자를 제거하십시오.
- 30. VB6의 문자열에서 후행 "-"문자를 제거하십시오.
그게 내가 찾고 좋은 작품입니다. – kiranking