【发布时间】:2020-04-22 11:22:18
【问题描述】:
我正在尝试从我的数据库中非常长的 XML 字段中切出文本的确切部分 - 我只想要以单词“General_Notes”开始并以“General_Notes_Conv”结尾的文本 - 我使用了这个建议发布here 将此行加入我的查询:
LEFT(SUBSTRING(PCO.Cycle_Order_Xml,
CHARINDEX('General_Notes', PCO.Cycle_Order_Xml), 500),
CHARINDEX('General_Notes_Conv', PCO.Cycle_Order_Xml))
这很有效,除了现在它从“General Notes”开始提取价值 500 个字符的文本 - 我的印象是第二个 CHARINDEX 表示我只提取文本直到出现该单词 - 我是不知道第二个CHARINDEX 有什么目的,但我希望这是动态的,只从General Notes 拉到General_Notes_Conv - 我应该改变什么?
【问题讨论】:
-
Substring 中的第三个参数为您提供长度,它指定将返回表达式的多少个字符。
标签: sql-server substring