如何筛选GridDB中包含特定子串的列数据?
在GridDB中筛选包含指定子串的行
你不需要用HAVING子句,HAVING是用来对分组后的聚合结果进行过滤的,而你现在只是要筛选单行中codes列包含"INB"子串的记录,直接用WHERE子句配合LIKE操作符就可以实现。
具体SQL语句
SELECT id, codes FROM 你的容器名 WHERE codes LIKE '%INB%';
说明
%是通配符,代表任意长度的任意字符(包括0个字符),%INB%表示匹配任何包含"INB"子串的字符串。- 如果你的GridDB版本支持正则表达式,也可以用
REGEXP操作符,写法是WHERE codes REGEXP 'INB',效果和上面一致。
执行结果
执行后会得到你期望的结果:
id | codes ----+--------------- 3 | UI41BBINB2B52O 4 | UI20JUINBHN52N
为什么不用HAVING?
HAVING必须和GROUP BY一起使用,比如你要先按某个字段分组,再对分组后的聚合结果(比如COUNT、SUM)进行过滤时才会用到。你的场景没有分组需求,所以用WHERE就足够了。
内容的提问来源于stack exchange,提问作者Emmanuel Oluwatosin
相关产品推荐
相关产品推荐

