解析出两个字符之间的单词 SQL Netezza

Parse out word between two characters SQL Netezza

我找不到正确的语法来解析 Netezza 中两个字符之间的单词。

PATIENT_NAME
SMITH,JOHN L
BROWN,JANE R
JONES,MARY LYNN

我需要第一个 space 逗号之后的名字。我将如何在 Netezza 中执行此操作?

我认为 Netezza 支持 regexp_extract()。那将是:

select replace(regexp_extract(name, ',[^ ]+'), ',', '')

regexp_replace():

select regexp_replace(name, '^[^,]+,([^ ]+)( |$).*$', '')

Netezza 支持 regexp_extract,如果有理由处理名字和中间名之间的各种空白,那么这将起作用 -

select regexp_extract(name,
    '^[^[:space:],]+[[:space:],]+([^[:space:]]+)') 

这也将处理 , 任一侧的可选空格、制表符等。