MySQL 与Oracle 应用使用对照

liuqiang 2021年01月18日 62次浏览

substr在oracle和mysql中的应用和区别

Oracle:

书写格式:

  1. Select substr(字段名(string) , 起始位置(int) , 截取长度(int))
    示例:
    select substr('123456',0,3) as start0 from dual;
    结果:
    123

示例:
select substr('123456',1,3) as start1 from dual;
结果:
123

示例:
select substr('123456',2,3) as start2 from dual;
结果:
234

结论: > 起始位置从0和从1开始都是表示从字符串首位开始截取
2. select substr(字段名(string) , 起始位置(int) )

示例:
select substr('123456',2)as start2 from dual;
结果:
23456

没有终止位置,即表示从起始位置开始截取后面所有的字符串

Mysql:

Mysql书写格式和Oracle一样,唯一需要注意的一点是,mysql的起始位置只能从1开始,不能从0开始。

示例:
Select substr( '123456' , 1 , 3) as start1 from dual;
结果:
123

示例:
select substr('123456',0,3) as start0 from dual;
结果:无显示