前两天被网上随手查的信息坑了,查一下Oracle函数substr的用法,平时懒得去记,到用时才去查,查到的函数用法是:substr(字串,起始位[,截取长度])。这就是一个截取字符串的函数,长度可省略,省略即为从截取位开始直到字串结尾的所有字符,这个起始位可为负数,负数就是从字串结尾开始数。这些都没错,但查的文章里只说了一句起始位从0开始计,却没说明0和1都是表示从字串第一位开始截取,就是说起始位为0和为1是一样的。
然后我用到Oracle里就用错了,还以为0是第一位开始,1就是第二位开始,算到后面就错了位置,因为我要截的是某个字串后面某位开始的一组数字,字串开头的是字母要截去,由于截取起始位置算数,截出来的就不是纯数字字符,包括了字母,继续往下转换数字就会出错。最后重新搜索并实际测试一下才知道什么是正确的。
网上查来的也要自己测试一下才知对错,千万不要偷懒,特此记录。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/1914.html