如何在sql中检查字符串中包含两个指定单词的部分?
我有一个xml,我把它当作一个字符串如何在sql中检查字符串中包含两个指定单词的部分?,sql,sql-server,Sql,Sql Server,我有一个xml,我把它当作一个字符串 <TRANSACTION> some text here </TRANSACTION> 现在我想检查两个标记之间的字符串部分。 例如和。 如何在sql server中执行此操作。请尝试以下操作: SELECT SUBSTRING('<TRANSACTION> some text here </TRANSACTION>', CHARINDEX('<TRANSACTION>', '<TRANS
<TRANSACTION> some text here </TRANSACTION>
现在我想检查两个标记之间的字符串部分。
例如和。
如何在sql server中执行此操作。请尝试以下操作:
SELECT SUBSTRING('<TRANSACTION> some text here </TRANSACTION>', CHARINDEX('<TRANSACTION>', '<TRANSACTION> some text here </TRANSACTION>')+Len('<TRANSACTION>')
, CHARINDEX('</TRANSACTION>','<TRANSACTION> some text here </TRANSACTION>') - CHARINDEX('<TRANSACTION>', '<TRANSACTION> some text here </TRANSACTION>')-Len('</TRANSACTION>'))
你可以试试这个-
DECLARE @Str VARCHAR(MAX)= '<TRANSACTION> some text here </TRANSACTION>';
SELECT CAST(@Str AS XML).value('(/TRANSACTION)[1]', 'varchar(MAX)')
如果您的数据库字段已经是XML类型,则不需要强制转换为XML。还将向我们显示更多示例数据,并指定预期结果。你也看看,你试过什么?向我们展示您当前的代码尝试。我已经完成了,但非常感谢此解决方案也非常有效。此解决方案也非常棒。事实上,比我所拥有的更好