使用Oracle 11.我们需要删除一个分号和任何在一组字符串中的分号右侧的分号。仅显示特殊字符左侧的字符
该字符串可能包含也可能不包含分号。如果没有分号,我们将返回整个字符串。
我可以看到使用CASE
来改变字符串只有当有一个分号时,但肯定是语法去处理分号和分号后面的所有内容。
字符串
123456;789154
将返回123456
123456789
将返回123456789
Case
When string1 like ('%;%')
then substr(…….) or trim(…)
Else string1
End
As trimmedstring
任何和所有帮助/指针赞赏
看看[INSTR ](https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions068.htm) – abhi
如果字符串中有多个分号,该怎么办?你需要从第一个分号开始删除任何东西吗? – Aleksej
在数据集中,只会有一个,但是如果数据集发生更改,我们希望从第一个下一个中删除所有。 – user761758