The*_*ear 3 sql oracle function
我已经开始在 Oracle 中使用 SUBSTR 和 INSTR,但是当我遇到这个时我感到很困惑。
SELECT PHONE, SUBSTR(PHONE, 1, INSTR(PHONE, '-') -1)
FROM DIRECTORY;
Run Code Online (Sandbox Code Playgroud)
所以我知道 SUBSTR 截断了值,而 INSTR 显示了出现的位置,但上面的示例让我感到困惑,因为结果是 362。当我的原始值是 362-127-4285 时。这是如何运作的?
INSTR(PHONE, '-')在您的情况下给出列中的索引,然后或
给出具有字符长度的列的子字符串,
如果值列是,则为。-PHONE4 SUBSTR(PHONE, 1, 4 - 1)SUBSTR(PHONE, 1, 3) PHONE1st3362PHONE362-127-4285