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

如何通过SELECT语句提取字段中的数字与分号并格式化输出

用SELECT语句提取VAL字段中的数字与分号

原始样本数据表:

ID VAL
1 1.abc; 2.bcd; 3.a-sd; 4.fhg
2 5.bsfacd; 3.afgh-sd; 4.fvbnbhg

需求是查询后将VAL字段处理为仅保留数字和分号的格式,目标结果:

ID VAL
1 1;2;3;4;
2 5;3;4;

不同数据库的实现方案

MySQL/MariaDB

使用REGEXP_REPLACE函数全局替换非数字和分号的字符:

SELECT 
    ID,
    REGEXP_REPLACE(VAL, '[^0-9;]', '') AS VAL
FROM your_table;

SQL Server(2017及以上版本)

同样支持REGEXP_REPLACE函数,语法类似:

SELECT 
    ID,
    REGEXP_REPLACE(VAL, '[^0-9;]', '') AS VAL
FROM your_table;

PostgreSQL

需要在REGEXP_REPLACE中添加'g'参数指定全局替换:

SELECT 
    ID,
    REGEXP_REPLACE(VAL, '[^0-9;]', '', 'g') AS VAL
FROM your_table;

原理说明

正则表达式[^0-9;]表示匹配所有**不是数字(0-9)和分号(;)**的字符,将这些字符替换为空字符串后,就得到了仅保留目标字符的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:23:20