You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询数据库表XML列中标签值包含前导空格的记录

XML列前导空格记录筛选查询方案

适用SQL Server数据库

通用写法(可识别所有类型前导空白字符)

SELECT Column1, Column2
FROM Table1
WHERE Column2.exist('//text()[matches(., "^\\s+")]') = 1

语法说明:

  • //text() 遍历XML内所有层级的所有节点文本内容,不受节点名称、嵌套层级限制
  • matches(., "^\\s+") 用正则匹配当前文本是否以1个及以上空白字符开头(包含普通空格、制表符、换行符等)
  • exist() 方法只要存在任意一个符合条件的节点就返回1,刚好对应「任意标签值带前导空格」的筛选要求

仅检测普通半角前导空格的高性能写法

SELECT Column1, Column2
FROM Table1
WHERE Column2.exist('//text()[starts-with(., " ")]') = 1

该写法不需要调用正则解析,执行效率更高,仅匹配普通半角空格开头的文本。

适用PostgreSQL数据库

SELECT Column1, Column2
FROM Table1
WHERE xpath_exists('//text()[starts-with(., " ")]', Column2) IS TRUE;

内容的提问来源于stack exchange,提问作者user613400

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:24:02