如何从字符中获取子字符串
Posted
技术标签:
【中文标题】如何从字符中获取子字符串【英文标题】:How to get a substring from a character on 【发布时间】:2020-09-25 08:08:23 【问题描述】:我有一个包含 varchar2 列的表,其中有不同长度的字符串,我必须在字符“-”之后提取子字符串。
STRING_COL
afg a ga ga ga ggfdg - gfd g f
ok k ok o - gfs gsd gsg sd g sd
okk - jdjdjdj d d
...
我想在'-'字符之后得到所有内容
你能告诉我怎么做吗? 甲骨文10g
提前致谢! 标记
【问题讨论】:
【参考方案1】:看起来不错,旧的 SUBSTR
+ INSTR
组合。如果要删除前导/尾随空格,请应用 TRIM
。
SQL> select string_col,
2 substr(string_col, instr(string_col, '-') + 1) result,
3 --
4 trim(substr(string_col, instr(string_col, '-') + 1)) trimmed_result
5 from test;
STRING_COL RESULT TRIMMED_RESULT
-------------------------------------------------- -------------------- --------------------
afg a ga ga ga ggfdg - gfd g f gfd g f gfd g f
ok k ok o - gfs gsd gsg sd g sd gfs gsd gsg sd g sd gfs gsd gsg sd g sd
okk - jdjdjdj d d jdjdjdj d d jdjdjdj d d
SQL>
【讨论】:
@Mark:通过单击复选标志考虑accept it 的答案。这向社区表明您的问题已得到解决(并奖励回答者!)。【参考方案2】:你可以使用regexp_substr()
:
select regexp_substr(string_col, '[^-]+$')
Here 是一个数据库小提琴。
【讨论】:
以上是关于如何从字符中获取子字符串的主要内容,如果未能解决你的问题,请参考以下文章