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

VB.Net DataTable.Select使用Like运算符无返回结果问题

问题原因及解决方法

核心问题是DataTable.Select()的表达式语法中,Like运算符的通配符规则和标准SQL不一致:
你写的%和_在DataTable表达式里会被当作普通字面字符,而非通配符,所以%0__会被解释为“严格匹配以%开头、接着0、再两个_的字符串”,自然找不到符合条件的行。

正确的写法

把通配符替换成DataTable表达式支持的规则:

  • 用*代替SQL中的%(匹配任意长度的任意字符)
  • 用?代替SQL中的_(匹配单个任意字符)

修改后的Like条件应为:

col_b like '*0??'

完整筛选表达式

组合所有规则后的最终表达式:

"col_a > 'H00' and col_a < 'HZZ' and col_b > '0000000000000' and col_b < 'ZZZZZZZZZZZZZ' and col_b like '*0??'"

如果你的col_b字段本身包含*或?这类需要转义的字符,可使用方括号[]包裹(比如[*]代表匹配字面的*),但根据你的需求,替换通配符即可解决无返回行的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 14:53:36