Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sql中检查字符串中包含两个指定单词的部分?_Sql_Sql Server - Fatal编程技术网

如何在sql中检查字符串中包含两个指定单词的部分?

如何在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

我有一个xml,我把它当作一个字符串

<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。

还将向我们显示更多示例数据,并指定预期结果。你也看看,你试过什么?向我们展示您当前的代码尝试。我已经完成了,但非常感谢此解决方案也非常有效。此解决方案也非常棒。事实上,比我所拥有的更好