REGEXP_MATCHES
を使用する代わりに 一致の配列を返す場合は、SUBSTRING
を使用する方がよい場合があります これにより、TEXT
として一致するようになります 直接。
@Abelistoが共有したように、正しいパターンを使用して、これを行うことができます:
SELECT SUBSTRING('My name is Harry Potter' FROM '\w+\W+\w+$')
これはHarry Potter
を返します {"Harry Potter"}
とは対照的に
@Hamboneのコメントによると、最後の単語のいずれかにアポストロフィのように句読点が含まれている場合は、次のパターンの使用を検討する必要があります。
SELECT SUBSTRING('My name is Danny O''neal' FROM '\S+\s+\S+$')
上記は正しくDanny O'neal
を返します O'neal
だけではなく