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

Làm cách nào để xóa các dấu ngoặc kép khỏi một bảng trong postgresql?

Sử dụng tốt hơn thay thế () cho điều này:

UPDATE tbl SET col = replace(col, '''', '');

Nhanh hơn nhiều so với regexp_replace() và nó thay thế "toàn cầu" - tất cả các lần xuất hiện của chuỗi tìm kiếm. câu trả lời của @ beny23 được chấp nhận trước đây đã sai về mặt này. Nó chỉ thay thế những lần xuất hiện đầu tiên, sẽ phải là:

UPDATE tbl SET col = regexp_replace(col, '''', '', 'g');

Lưu ý tham số bổ sung 'g' cho "toàn cầu". Đọc về các hàm chuỗi trong sách hướng dẫn .

Ngoài ra:cách chuẩn (và chuẩn SQL) để thoát khỏi dấu ngoặc kép (' ) trong chuỗi ký tự là để nhân đôi chúng ('' ). Tất nhiên, việc sử dụng chuỗi thoát kiểu Posix cũng hoạt động. Chi tiết:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cấu hình Puma Cluster trên Heroku

  2. Cần chuyển Oracle merge thành truy vấn sang PostgreSQL

  3. Mẹo thực hành tốt nhất của PostgreSQL VACUUM và PHÂN TÍCH

  4. Thực thi Trigger trên View?

  5. Làm cách nào để nối ngoài hai bảng (bảng chính và nhiều-một) để chỉ nhận được MỘT mục từ bảng thứ hai?