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

问题描述

我无法找到正确的语法来解析 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:]]+)') 

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...