【问题标题】:Remove string after second comma Oracle / PL SQL在第二个逗号 Oracle / PL SQL 后删除字符串
【发布时间】:2020-09-30 12:35:47
【问题描述】:

我有这个值 '45465,6464,654' 我想删除它后面的第二个逗号和字符串。所以基本上我想要 ''45465,6464' 。我找到了一个解决方案,但它适用于 Mssql。如何对 Oracle 进行此查询,即使使用子字符串也无法做到。你能帮帮我吗?

这适用于 MSSQL;

`声明@S varchar(20) = '45465@6464@654';

向左选择(@S, charindex('@', @S, charindex('@', @S)+1)-1);`

【问题讨论】:

    标签: oracle plsql oracle-sqldeveloper plsqldeveloper


    【解决方案1】:

    你可以使用非常相似的东西:

    WITH s AS (SELECT '45465@6464@654' s FROM dual)
    SELECT SUBSTR(s,1,INSTR(s,'@',1,2)-1) FROM s
    

    或者你可以使用正则表达式:

    SELECT regexp_substr('45465@6464@654','([^@]*@)?[^@]*') from dual
    

    【讨论】:

    • 非常感谢 Radagas81 :) 它有帮助。
    猜你喜欢
    • 2022-06-17
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    相关资源
    最近更新 更多