PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Xử lý chuỗi Unicode trong postgresql

\u0000 là một điểm mã Unicode không hợp lệ trong một chuỗi. Tôi không có cách nào khác hơn là làm sạch chuỗi.

Kể từ khi json chỉ là một chuỗi ở một định dạng cụ thể, bạn có thể sử dụng các hàm chuỗi tiêu chuẩn mà không cần lo lắng về cấu trúc JSON. Trình vệ sinh một dòng để loại bỏ điểm mã sẽ là:

SELECT (regexp_replace(the_string::text, '\\u0000', '', 'g'))::json;

Nhưng bạn cũng có thể chèn bất kỳ ký tự nào theo ý thích của mình, điều này sẽ hữu ích nếu điểm mã 0 được sử dụng làm một số dạng dấu phân cách.

Cũng cần lưu ý sự khác biệt nhỏ giữa những gì được lưu trữ trong cơ sở dữ liệu và cách nó được trình bày cho người dùng. Bạn có thể lưu trữ điểm mã trong một chuỗi JSON, nhưng bạn phải xử lý trước nó thành một số ký tự khác trước khi xử lý giá trị dưới dạng json kiểu dữ liệu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL psql dòng lệnh hiển thị cột bytea

  2. Hibernate 4 và Postgres:Làm thế nào để tạo một chuỗi trên mỗi bảng?

  3. cách chọn tất cả các bản ghi có chứa các giá trị nhất định từ một trường postgres json chứa một mảng

  4. Truy vấn kết hợp JSON trả về kết quả kỳ lạ

  5. Tìm tên máy chủ và cổng bằng lệnh PSQL