如何在Message字段中获取DocumentID的值?

时间:2014-10-28 02:03:44

标签: sql sybase

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

example:
ID                        Message
7898    <Portfolio><DocumentID>10545</DocumentID></Portfolio>

2 个答案:

答案 0 :(得分:1)

select  ID,
document_id = xmlextract("//Portfolio/DocumentID/text()", Message)
FROM TableA 

答案 1 :(得分:0)

如果您使用的是早于12.5.1的ASE版本,则可以使用字符操作函数来完成此操作:

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

如果你在使用xmlextract的更高版本中按照RADAR的回答建议似乎要容易得多。