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

Làm cách nào để ghép hai từ cuối cùng trong một câu trong PostgreSQL?

Thay vì sử dụng REGEXP_MATCHES trả về một mảng kết quả phù hợp, bạn có thể tốt hơn bằng cách sử dụng SUBSTRING sẽ cung cấp cho bạn kết quả phù hợp dưới dạng TEXT trực tiếp.

Sử dụng đúng mẫu như @Abelisto đã chia sẻ, bạn có thể thực hiện việc này:

SELECT SUBSTRING('My name is Harry Potter' FROM '\w+\W+\w+$')

Điều này trả về Harry Potter trái ngược với {"Harry Potter"}

Theo nhận xét của @ Hambone, nếu một trong hai từ ở cuối chứa dấu chấm câu, như dấu nháy đơn, bạn nên cân nhắc sử dụng mẫu sau:

SELECT SUBSTRING('My name is Danny O''neal' FROM '\S+\s+\S+$')

Ở trên sẽ trả về chính xác Danny O'neal trái ngược với chỉ O'neal



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đi thẳng vào đám mây tại CHAR (10)

  2. Phát triển PostgreSQL cho Windows, Phần 1

  3. Lấy N hàng cuối cùng trong cơ sở dữ liệu theo thứ tự?

  4. Làm thế nào để làm cho một tiện ích mở rộng không thể di dời?

  5. Phát hiện xem hàng đã được cập nhật hoặc được chèn hay chưa