我想在Oracle数据库表的全名字段中标识逗号后面出现的单词数。
名称字段包含" LAST,FIRST MIDDLE"的格式。 有些名称可能最多有4到5个名称,例如" DOE,JOHN A B"
例如,如果名称字段=' WILLIAMS JR,HANK'它会输出1(在逗号之后出现1个单词。
如果姓名字段=' DOE,JOHN A B'我希望它输出3。
我想使用regexp_count函数来确定此计数。 我使用以下代码来确定字段中存在多少个单词,并希望对其进行修改以包含此功能:
REGEXP_COUNT(REPLACE(字段名称,',',','),' [^] +')
为了找到逗号,可能需要删除替换函数,但这是迄今为止我能做的最好的。
非常感谢帮助!
答案 0 :(得分:0)
以下内容如何:
REGEXP_COUNT( fieldname, "\\w", INSTR(fieldname, ",")+1)
答案 1 :(得分:0)
我已按如下方式更新了代码,该代码似乎正常工作:
REGEXP_COUNT(fieldname, '[^ ]+', (INSTR(fieldname, ',')+1))