mysql数据库中的substring函数问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库中的substring函数问题?相关的知识,希望对你有一定的参考价值。

substring(p1,p2,p3); 这个函数的第一个参数是要截取的字符串,第二个参数是开始截取的位置,第三个参数是要截取的长度;
问题出在第二个参数那里,今天看了下,在mysql中,如果想从头开始截取,第二个参数应该写做1,即是说在mysql中这个函数是从1开始计数的,但在其他数据库中(oracle),这个应该是从0开始计数的呀,再者说了一般不都是从0开始计数的吗,这儿怎么就成了从1开始计数的了啊,是我理解错了吗,哪位大侠给我说一下啊!

Oracle截取字符串的函数为:substr(字段名,起始位置,字符串长度) 起始位置可从0开始,截取结果和从1开始一样。

MySql截取字符串的函数为:substring(字段名,起始位置,字符串长度) 起始位置必须从1开始,0开始不能获取到数据。
参考技术A 你应该是记错了,oracle 也是从1开始计数的。你记得应该是C,C++里的用法,从0开始计数 参考技术B 试一下不就行了,从1取从0取仅仅是一个规则而已追问

我是想写的代码在两个数据库里都可用啊,这起始不一样怎么移植啊?

追答

你能做到两个数据库连接的部分代码都一样吗?如果可以的话,这个也不是问题啊,要不然你不是还得分开写?

实在不行就用变量呗

本回答被提问者采纳

以上是关于mysql数据库中的substring函数问题?的主要内容,如果未能解决你的问题,请参考以下文章

mysql中的substr()函数

mysql substr()函数

mysql substr()函数

MySQL字符串截取函数 SUBSTR() 详解

MySQL字符串截取函数 SUBSTR() 详解

JS中的substring和substr函数的区别说明