oracle string从0还是1开始SQL codeselect length(sdf)from dual--3SELECT substr(sdf,0,1) FROM dual
oracle string从0还是1开始
- SQL code
select length('sdf')from dual --3SELECT substr('sdf',0,1) FROM dual --s //从第0位开始,取1个字符,就 取sSELECT substr('sdf',1,1) FROM dual --s //从第1位开始,取1个字符,还是s ??这是为什么oracle里计算字符串是从第1 位开始还是从第0位也可以
[解决办法]
当然是从1开始.
[解决办法]
从1开始,自己测一下就行了:
- SQL code
SQL> select substr('abcdef', 1, 2) from dual;SU--ab
[解决办法]
1
[解决办法]
[解决办法]
呵呵,其实从负数位开始取也可以;
可以做如下验证:
SQL> select substr('abcdefgkopi',1,3) from dual;
SUB
---
abc
SQL> select substr('abcdefgkopi',0,3) from dual;
SUB
---
abc
SQL> select substr('abcdefgkopi',-3,2) from dual;
SU
--
op
SQL> select substr('abcdefgkopi',-3,5) from dual;
SUB
---
opi
