Sql 如何获取消息字段中DocumentID的值?

Sql 如何获取消息字段中DocumentID的值?,sql,sybase,Sql,Sybase,如何获取消息字段中的值(DocumentID) example: ID Message 7898 <Portfolio><DocumentID>10545</DocumentID></Portfolio> 示例: 身份信息 7898 10545 如果您使用的ASE版本早于12.5.1,则可以使用字符操纵功能完成此操作: select id, substring( mes

如何获取消息字段中的值(DocumentID)

example:
ID                        Message
7898    <Portfolio><DocumentID>10545</DocumentID></Portfolio>
示例:
身份信息
7898    10545

如果您使用的ASE版本早于12.5.1,则可以使用字符操纵功能完成此操作:

select 
  id, 
  substring(
    message, 
    charindex('ID>', message)+3,
    charindex('</Doc', message) - charindex('ID>', message)-3
    ) as DocumentID
from your_table
选择
身份证件
子串(
消息
charindex('ID>',消息)+3,
charindex('',消息)-3
)作为文档ID
从你的桌子上
如果您使用的是更高版本的xmlextract,正如RADAR在回答中所建议的那样,这似乎要容易得多

select 
  id, 
  substring(
    message, 
    charindex('ID>', message)+3,
    charindex('</Doc', message) - charindex('ID>', message)-3
    ) as DocumentID
from your_table