问题描述
我无法找到正确的语法来解析 Netezza 中两个字符之间的单词。
PATIENT_NAME |
---|
SMITH,JOHN L |
BROWN,JANE R |
JONES,MARY LYNN |
我需要名字总是在逗号之后和第一个空格之前。我将如何在 Netezza 中执行此操作?
解决方法
我认为 Netezza 支持 regexp_extract()
。那将是:
select replace(regexp_extract(name,',[^ ]+'),'')
或regexp_replace()
:
select regexp_replace(name,'^[^,]+,([^ ]+)( |$).*$','\1')
,
Netezza 支持 regexp_extract
,如果有理由处理名字和中间名之间的各种空格,那么这将起作用 -
select regexp_extract(name,'^[^[:space:],]+[[:space:],]+([^[:space:]]+)')
这也将处理 ,
两侧的可选空格、制表符等。