PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Django. PostgreSQL. regexp_split_to_table tidak berfungsi

Garis miring terbalik diperlakukan sebagai meta-karakter oleh Django dan ditafsirkan di dalam tanda kutip ganda. Jadi satu lapisan E'\\s+') akan dilucuti sebelum string tiba di server PostgreSQL, yang akan melihat E'\s+') . String escape akan menghasilkan 's+' yang pada gilirannya akan membuat regexp_split_to_table() pisahkan string Anda pada sejumlah s alih-alih ruang non-cetak, yang merupakan singkatan dari kelas karakter \s singkatan dari ekspresi reguler.

Gandakan garis miring terbalik Anda dalam string untuk mendapatkan apa yang Anda inginkan:E'\\\\s+') :

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

Sebagai alternatif, untuk menghindari masalah dengan arti khusus dari garis miring terbalik \ , Anda dapat menggunakan [[:space:]] untuk menunjukkan kelas karakter yang sama:

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

Detail dalam bab " Pencocokan Pola" di manual .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah mungkin untuk mengganti proxy Cloud SQL dengan proxy Istio?

  2. Cara Membuat Pengguna di PostgreSQL

  3. Rails:Memasang permata PG di OS X - kegagalan membangun ekstensi asli

  4. psql:FATAL:otentikasi kata sandi gagal untuk pengguna windows 8

  5. Django+Postgres FATAL:maaf, sudah terlalu banyak klien