oracle substr从后往前截取
时间: 2023-11-06 09:03:32 浏览: 347
示例中的第三个引用[3]说明了如何使用substr函数从后往前截取字符串。在substr函数的第一个参数中,您可以使用负数来指定从后往前的位置。例如,使用SUBSTR('Hello SQL!', -4)将会从倒数第4个字符开始截取到末尾,返回'SQL!'。所以,如果您想要从后往前截取字符串,只需在substr函数的第一个参数中使用负数即可。
相关问题
substr从后往前截取
Oracle中的substr函数可以从字符串中截取指定长度的子串,但是默认是从字符串的开头开始截取。如果需要从字符串的末尾开始截取,可以使用substr函数的第一个参数为负数的形式。例如,如果需要从字符串的倒数第三个字符开始截取长度为5的子串,可以使用以下语句:
SELECT SUBSTR('abcdefg', -3, 5) FROM DUAL;
这样就可以得到字符串'efg'。其中,第一个参数为-3表示从字符串的倒数第三个字符开始截取,第二个参数为5表示截取的子串长度为5。
oracle 字符串从后往前截取
你可以使用Oracle的SUBSTR函数和INSTR函数来从后往前截取字符串。
例如,假设你有一个字符串“Hello World!”,你想截取最后一个感叹号“!”之前的内容。你可以使用以下查询:
```
SELECT SUBSTR('Hello World!', 1, INSTR(REVERSE('Hello World!'), '!')-1) as result FROM dual;
```
在这个查询中,我们先使用REVERSE函数将字符串反转,然后使用INSTR函数查找反转后字符串中的感叹号“!”出现的位置。最后,我们使用SUBSTR函数截取从字符串开头开始到感叹号“!”之前的内容。
执行上述查询后,你将得到以下结果:
```
RESULT
-----------
Hello World
```
这就是从后往前截取字符串的做法。
阅读全文