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

如何用Presto SQL提取纯数字字符串?解决LIKE查询无结果问题

Presto SQL 提取纯数字字符串的正确方法

你的查询没有返回结果,是因为Presto的LIKE操作符不支持正则表达式语法,它仅支持%(匹配任意长度字符)和_(匹配单个字符)这两种通配符,[0-9]*会被当作字面量字符串去匹配,自然找不到对应数据。

以下是两种可行的实现方式:

方法一:使用正则匹配函数regexp_like

通过正则表达式精准匹配整个字符串仅包含数字的记录:

SELECT string
FROM table1
WHERE regexp_like(string, '^[0-9]+$')
GROUP BY string
  • ^ 匹配字符串开头
  • [0-9]+ 匹配1个或多个数字
  • $ 匹配字符串结尾
    三者结合确保字符串从开头到结尾全是数字,没有其他字符。

方法二:利用类型转换判断

尝试将字符串转为数值类型,转换成功说明是纯数字:

SELECT string
FROM table1
WHERE cast(string AS bigint) IS NOT NULL
GROUP BY string

这种方法适合处理整数类型的纯数字字符串,如果需要支持小数,可以把bigint换成double。

内容的提问来源于stack exchange,提问作者Nuno Miguel Oliveira Milhomens

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 05:25:53