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

如何在Oracle SQL查询结果中移除指定字符串实例?

解决方案

看起来你是想从查询结果的col_one列里移除像SUBSTATION、STATION、SUBST A这类指定的字符串实例对吧?可以在你现有的regexp_substr结果外层套一个REGEXP_REPLACE来实现,再配合TRIM清理多余空格,具体修改如下:

SELECT 
    LOCATIONS.LOCATION, 
    LOCATIONS.DESCRIPTION, 
    TRIM(REGEXP_REPLACE(
        regexp_substr(LOCATIONS.DESCRIPTION, '[^,]+', 1, 2),
        '(SUBSTATION|STATION|SUBST A)',
        ''
    )) AS col_one 
FROM locations 
WHERE LOCATIONS.DESCRIPTION LIKE 'SUB,%' OR LOCATIONS.DESCRIPTION LIKE 'STATION,%'

关键部分说明:

  • REGEXP_REPLACE(..., '(SUBSTATION|STATION|SUBST A)', ''):用竖线|分隔所有需要移除的字符串,表示匹配其中任意一个,然后替换为空字符串。
  • TRIM():移除目标字符串后可能会留下前后空格,用这个函数可以把多余空格清理掉,让结果更整洁。

对应你的示例数据,修改后结果会变成:

MONARCH
PRICE
DALLAS
COLFAX
BELMONT
GREAT LAKES STEEL
QUINCY
FRENCH LANDING
BERRY
DECOMMIS MCLOUTH A
MAZDA SUBSTATI...

如果后续还有其他需要移除的变体(比如截断的SUBSTATI),直接把它添加到正则表达式的括号里即可,比如改成'(SUBSTATION|STATION|SUBST A|SUBSTATI)'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:35:09