Bạn có thể sử dụng SUBSTR
và INSTR
:
select substr('john.abc_1234', 1, instr('john.abc_1234', '_') -1)
from dual
Cập nhật
Ngoài ra, nếu bạn đang chạy từ Oracle 10g trở đi, bạn có thể sử dụng đường dẫn Regex, đường dẫn này sẽ xử lý các ngoại lệ mạnh mẽ hơn.
Dưới đây là một số liên kết về cách thực hiện điều đó trong Oracle:
- http://psoug.org/reference/regexp.html
- http://psoug.org/snippet/Regular -Biểu thức - Regexp-Cheat-Sheet_856.htm
- http://www.regular-expressions.info/oracle.html