sql - 如何删除 oracle 中破折号后的文本?

标签 sql regex oracle

我在看

replace('ABC-DEF', '-') 

regexp_replace('ABC-DEF', '-$') 

帮助我删除破折号后的所有字符,但我一直无法找到与我想做的相匹配的好的函数或表达式。执行此操作的好的 oracle 表达式是什么?

ABC-DEF => ABC

最佳答案

我只想使用 substr 来获取破折号:

select substr(str, 1, instr(str, '-')-1) new_str
from 
(
    select 'ABC-DEF' str
    from dual
)

关于sql - 如何删除 oracle 中破折号后的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6202383/

相关文章:

sql - 如何创建一个约束来确保输入的日期总是 >= 今天或 future 的日期?

javascript - 替换输入中的坏词 单词多项选择

regex - 去标志 : trailing slash escapes quote on Windows

java - 从 url 中提取特定字段

mysql - 如何使用 GROUP BY mysql 查询优化 COUNT?

java - 将 SQL 和绑定(bind)数据转换为直接 SQL

oracle - MySQL 等同于 ORACLES rank()

asp.net - odbc 连接的连接字符串是什么?

sql - 自定义表连接

php - 如何寻找更高的值(value)