关于**“SUBSTR”(ch, pos, length)** 函数的使用(与反向截取)
此函数为截取函数,在众多数据库中都可以使用包括mysql,oracle,db2等。
第一个参数:ch 为需要进行截取的字段
第二个参数:pos 为截取的定位,位置从0开始
第三个参数:length为截取的长度
操作数据: 012345
例1:正常使用
select "SUBSTR"(EQ_NO,0, 2) from Tables
结果:
01
例2:反向截取
select "SUBSTR"(EQ_NO,-1, 2) from Tables
结果:
5
这里就非常的奇怪,明明截取长度length为2,结果只有一个数字呢?
因为在sql中截取的字段是一个环形数轴,初始位置与中间线为0,截取的位置是与0为一个段落的。例如例2:截取位置为-1,那么即为5,此时截取长度length失效。
例3:反向截取
select "SUBSTR"(EQ_NO,-2, 2) from Tables
结果:
45
此时为想要的结果。