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

SQL实现:提取字符串中的英文与数字,排除外文字符

提取字符串中的英文与数字(排除外文字符)的SQL解决方案

你的问题出在误用了SPLIT_PART函数——它是基于固定分隔符拆分字符串的工具,不支持正则表达式匹配,所以无法实现字符提取需求。正确的做法是使用正则替换,将所有非英文、数字的字符(按需保留小数点等符号)替换为空,从而得到目标结果。

针对PostgreSQL的解决方案

PostgreSQL的REGEXP_REPLACE支持全局正则替换,语法如下:

SELECT 
    searches AS 原始字符串,
    -- 保留英文、数字和小数点,去掉其他所有字符(包括外文字符、空格)
    REGEXP_REPLACE(searches, '[^A-Za-z0-9.]', '', 'g') AS 提取结果
FROM thai;
  • [^A-Za-z0-9.]:匹配所有不属于英文大小写、数字、小数点的字符
  • '':将匹配到的字符替换为空
  • 'g':全局替换(所有匹配项都处理,而非只替换第一个)

针对MySQL 8.0+的解决方案

MySQL 8.0及以上版本也支持REGEXP_REPLACE,语法略有不同(默认全局替换):

SELECT 
    searches AS 原始字符串,
    REGEXP_REPLACE(searches, '[^A-Za-z0-9.]', '') AS 提取结果
FROM thai;

自定义调整说明

  • 如果不需要保留小数点,将正则中的.去掉,改为[^A-Za-z0-9]
  • 如果需要保留空格,将空格加入允许的字符集合,改为[^A-Za-z0-9. ]

样本数据测试结果

原始字符串提取结果
๊ ufa800ufa800
0.75 ราคา บอล0.75
1.5 2 บอล1.52
1.5 ราคา บอล1.5
10 เว็บ สล็อต10
123bet เข้า สู่ ระบบ123bet
123up slot123upslot

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:06:28