Oracle 中的 Substr SQL
Substr in Oracle SQL
以下两个查询 return 相同的结果。你能告诉我为什么以及哪个更合适吗?
select substr('87731000',0,8) from dual;
select substr('87731000',1,8) from dual;
这个版本比较合适:
select substr('87731000',1,8) from dual;
第二个参数为起始位置。在oracle中,字符串的起始位置总是1.
这两个语句都工作得很好,但这只是因为数据库有用并且假设如果您输入“0”,则意味着从字符串的开头开始。
来自 oracle 文档:
http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions162.htm
If position is 0, then it is treated as 1.
以下两个查询 return 相同的结果。你能告诉我为什么以及哪个更合适吗?
select substr('87731000',0,8) from dual;
select substr('87731000',1,8) from dual;
这个版本比较合适:
select substr('87731000',1,8) from dual;
第二个参数为起始位置。在oracle中,字符串的起始位置总是1.
这两个语句都工作得很好,但这只是因为数据库有用并且假设如果您输入“0”,则意味着从字符串的开头开始。
来自 oracle 文档: http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions162.htm
If position is 0, then it is treated as 1.