【发布时间】:2010-02-12 19:43:59
【问题描述】:
我有一列,其值由前缀和一些值组成,例如:
ABC-Car
ABC-Dog
ABC-Suit
CBR-Train
在我的查询中,我想删除某些前缀,例如如果我去掉“ABC-”,它会给我以下信息:
Car
Dog
Suit
CBR-Train
唯一的问题是,所有字符都对前缀后面的部分有效。所以我有可能:
ABC-ABC-Cat
我希望这个修剪后的值返回:
ABC-Cat
TRIM 和 LTRIM 函数似乎使用模式/字符匹配,而不是一次性字符串匹配。有没有办法使用这些函数或其他内置函数来完成我想要的?
目前我在想我将不得不使用 CASE 语句来检查每个值开头的前缀,如果存在,则将其 SUBSTR 关闭,否则返回未更改的列。希望有更简单的方法。
【问题讨论】: