在SQL Server XML数据类型上使用LIKE语句
发布时间:2021-03-15 22:03:00 所属栏目:MsSql教程 来源:网络整理
导读:如果您有一个varchar字段,您可以轻松地执行SELECT * FROM TABLE WHERE ColumnA LIKE’%Test%’以查看该列是否包含某个字符串. 你如何为XML Type做到这一点? 我有以下内容,只返回具有“文本”节点但我需要在该节点内搜索的行 select * from WebPageContent
|
如果您有一个varchar字段,您可以轻松地执行SELECT * FROM TABLE WHERE ColumnA LIKE’%Test%’以查看该列是否包含某个字符串. 你如何为XML Type做到这一点? 我有以下内容,只返回具有“文本”节点但我需要在该节点内搜索的行 select * from WebPageContent where data.exist('/PageContent/Text') = 1
解决方法你应该可以很容易地做到这一点:SELECT *
FROM WebPageContent
WHERE data.value('(/PageContent/Text)[1]','varchar(100)') LIKE 'XYZ%'
.value方法为您提供实际值,您可以定义要作为VARCHAR()返回的值,然后可以使用LIKE语句进行检查. 请注意,这不会非常快.因此,如果您的XML中有某些字段需要进行大量检查,则可以: >创建一个存储函数,它获取XML并返回您正在寻找的值作为VARCHAR() 有了这个,你基本上将XML的某个部分“提取”到一个计算字段中,使其保持不变,然后你可以非常有效地搜索它(哎呀:你甚至可以INDEX那个字段!). 渣子 (编辑:均轻资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 数据库设计 – 设计平台:一个数据库还是多个数据库?
- 计算在SQL Server中排除周末(周一到周五)的天数
- sql语句优化规则是什么?sql语句编写需要注意什么问题?
- 从具有动态sql的存储过程创建实体
- sql-server – 检查是否安装了SQL Server客户端
- sql – 如何在Firebird存储过程或执行块中使用变量引用已绑
- sql-server – SSIS可以连接到另一个sql server吗?
- sql-server – 来自不同进程中相同临时表的锁的死锁
- sql-server – 更改数据库默认排序规则时的Latin1_General_
- sql-server – 在另一个数据库中创建存储过程
站长推荐
热点阅读


