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