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

Teradata中使用LIKE操作符筛选数据时如何排除多余值

Teradata精准筛选目标字符串问题

你当前使用的select * From test where input like 'drop%'会匹配所有以drop开头的字符串,所以dropdown也会被包含进来。要实现只保留drop、drop1、drop15、drop20、drop30的需求,需要更精确的匹配规则,推荐使用Teradata的正则表达式函数REGEXP_LIKE:

解决方案

使用正则匹配字符串开头为drop,后续要么无字符,要么为数字的情况:

select * From test where REGEXP_LIKE(input, '^drop(\d*)$')

正则规则说明

  • ^:匹配字符串的起始位置
  • drop:固定匹配前缀
  • \d*:匹配0个或多个数字(\d代表数字,*表示允许出现0次或多次)
  • $:匹配字符串的结束位置

这个规则会确保只有drop本身,或者drop后跟任意长度数字的字符串被筛选出来,自然排除了dropdown这类后续为字母的字符串。

如果不想使用正则,也可以通过组合LIKE条件实现(但灵活性较差):

select * From test 
where input = 'drop' 
   or (input like 'drop%' and input not like 'drop%[a-z]%')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 10:02:39