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

如何在DataRow筛选中正确使用%特殊字符?

DataRow RowFilter 中LIKE语句含特殊字符%的正确用法

问题核心

你遇到的System.Data.EvaluationException是因为原表达式里的%被当成通配符处理,导致模式语法无效;而使用%01[%]2%无报错但无结果,要么是数据中不存在匹配行,要么是需要确认转义逻辑是否符合你的需求。

正确处理方式

1. 匹配字面量%(即字段值中包含01%2这个字符串)

在DataTable的RowFilter语法中,要匹配字面量的%,必须用方括号[]包裹。正确的过滤表达式为:

dr.RowFilter = "CODE LIKE '%01[%]2%'"

如果返回空结果,先检查数据源中是否真的存在CODE字段包含01%2的行——这通常是结果为空的主要原因。

2. 用%作为通配符(即匹配包含01且后续出现2的任意行)

如果你的需求是用%做通配符(匹配01和2之间有任意字符的行),原表达式"CODE LIKE '%01%2%'"本身语法合法,报错大概率是其他问题导致的,需要排查:

  • 字段名CODE是否正确(注意是否区分大小写)
  • 表达式是否有未闭合的引号或其他语法错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 15:32:40