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

如何筛选出包含括号内数字的结果列?

嘿,这问题我熟!要筛选出name列里带括号内包含数字的行对吧?我给你整理了几种靠谱的解决方法,适配不同的数据库场景~

需求回顾

从你的原始数据表中,只保留name字段里存在类似(21)、(123)这种“括号包裹数字”格式的记录,排除像abc这种无数字括号的行。

原始数据表

idname
1abc
2rav (21)
3nag (123)

解决方案

方案1:正则表达式匹配(精准度高,适合支持正则的数据库)

如果你的数据库支持正则(比如MySQL、PostgreSQL、SQLite等),用这种方法最精准:

MySQL/MariaDB 写法
SELECT id, name
FROM your_table_name  -- 替换成你的实际表名
WHERE name REGEXP '\\([0-9]+\\)';
PostgreSQL 写法
SELECT id, name
FROM your_table_name
WHERE name ~ '\([0-9]+\)';

方案2:通用LIKE匹配(兼容性强,适合所有数据库)

如果你的数据库不支持正则,用LIKE通配符也能满足需求,虽然精准度略低,但足够应对当前场景:

SELECT id, name
FROM your_table_name
WHERE name LIKE '%(%[0-9]%)%';

筛选后结果表

idname
2rav (21)
3nag (123)

简单解释

  • 正则表达式里的\([0-9]+\):\(和\)是转义后的括号(避免被当成正则的特殊语法),[0-9]+表示匹配1个或多个数字,确保括号里确实有数字。
  • LIKE写法里的%(%[0-9]%)%:%代表任意长度的字符,整个表达式的意思是“字符串里存在一段包含数字的括号内容”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:04:56