intersystems缓存2个特殊字符之间的字符串

时间:2016-04-28 19:15:55

标签: sql intersystems-cache

我需要在字符串中间获取值 该字符串是Lastname, Firstname Middlename

格式的名称

我用以下内容隔离了姓氏:
SUBSTRING(p.Name,1, INSTR(p.Name,',',1)-1) as "Surname"

我现在只需要隔离名字。我试图在substringinstr使用相同类型的逻辑,但我遇到了麻烦。这是我到目前为止所提出的:
SUBSTRING(p.Name, INSTR(p.Name,',',1)+1, INSTR(p.Name,' ')) as "Patient"

这会产生Firstname Middlename

任何人都知道如何解析逗号和空格之间的字符?请注意,这是在InterSystems Cache

Instr notes
Substring notes

1 个答案:

答案 0 :(得分:4)

使用$Piece函数返回由分隔符标识的子字符串:

SELECT $PIECE($PIECE('Lastname, Firstname Middlename', ',', 2), ' ', 2)

收益率名字。