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

Django. PostgreSQL. regexp_split_to_table không hoạt động

Dấu gạch chéo ngược được Django coi là siêu ký tự và được diễn giải bên trong dấu ngoặc kép. Vì vậy, một lớp của E'\\s+') bị loại bỏ trước khi chuỗi đến máy chủ PostgreSQL, máy chủ này sẽ thấy E'\s+') . Chuỗi thoát sẽ dẫn đến 's+' đến lượt nó sẽ tạo ra regexp_split_to_table() chia chuỗi của bạn theo bất kỳ số lượng s nào thay vì không gian không in được, viết tắt của lớp ký tự \s là viết tắt của cụm từ thông dụng.

Nhân đôi dấu gạch chéo ngược của bạn trong chuỗi để đạt được những gì bạn dự định:E'\\\\s+') :

"SELECT regexp_split_to_table(field_name, E'\\\\s+') FROM mytable LIMIT 20"

Thay vào đó, để tránh các vấn đề với ý nghĩa đặc biệt của dấu gạch chéo ngược \ , bạn có thể sử dụng [[:space:]] để biểu thị cùng một lớp ký tự:

"SELECT regexp_split_to_table(field_name, '[[:space:]]+') FROM mytable LIMIT 20"

Chi tiết trong chương " Khớp mẫu "trong sách hướng dẫn .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để ghi nhật ký các câu lệnh SQL trong Vapor 3 / Fluent?

  2. Không thể tạo EntityManager trong JavaFx

  3. Kết nối Postgres chậm từ PHP

  4. PostgreSQL trong Helm:Thông số initdbScripts

  5. Sử dụng loại điểm với PostgreSQL và JPA / Hibernate