函数|sql中的substr与substring函数用法


sql中的substr与substring函数用法

  • 关于substr和substring的区别
    • 1、Oracle的substr
    • 2、javascript中的substr和substring两个方法
    • 3、java中substring是string对象的函数
    • 4、总结:

关于substr和substring的区别 首先申明,substr()是基于Oracle的,substring()是基于SQL Server的,切记不可混用,否则会报错!
MySQL: SUBSTR( ), SUBSTRING( )
Oracle: SUBSTR( )
SQL Server: SUBSTRING( )
1、Oracle的substr 在plsql中substr是一个单独的函数,字符串索引以1开始。
语法:
substr( string, start_position, [ length ] )

如果start_position是0,substr还是认为是1开始。
如果start_position是正数,substr以start_position开始计算,包含start_position。
如果start_position是负数,则从string结尾开始向前数数。
length,返回字符串的长度,如果是负数,返回NULL。
例子:
substr('This is a test', , 2) would return 'is' substr('This is a test', 6) would return 'is a test' substr('TechOnTheNet', 1, 4) would return 'Tech' substr('TechOnTheNet', -3, 3) would return 'Net' substr('TechOnTheNet', -6, 3) would return 'The' substr('TechOnTheNet', -8, 2) would return 'On'

2、javascript中的substr和substring两个方法 在javascript中有substr和substring两个方法,字符串的索引以0开始。
语法:
substring 方法用于提取字符串中介于两个指定下标之间的字符。
stringObject.substring(start,stop)

说明:
substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。
substr 方法用于返回一个从指定位置开始的指定长度的子字符串。
stringObject.substr(start [, length ])

说明:
如果 length 为 0 或负数,将返回一个空字符串。
如果没有指定该参数,则子字符串将延续到stringObject的最后。
例子:
"0123456789".substring(5) return "56789" "0123456789".substring(0,5) return "01234" "0123456789".substring(2,0) return "01" "0123456789".substring(-1,5) return "01234" "0123456789".substr(5) return "56789" "0123456789".substr(2,0) return "" "0123456789".substr(2,2) return "23" "0123456789".substr(-1,5) return "01234"

3、java中substring是string对象的函数 java中substring是string对象的函数,返回位于String 对象中指定位置的子字符串。该索引从0开始起算。
语法:
strVariable.substring(start[,end])

substring 方法使用start和end两者的较小值作为子字符串的起始点。strvar.substring(0,3)和strvar.substring(3, 0)将返回相同的子字符串。
包含start位置的值,不包含end位置的值。
例子:
"05718888888".substring(0,4) returns "0571" "hamburger".substring(4, returns "urge" "smiles".substring(1, 5) returns "mile"

4、总结: 除了Oracle的substr以1以字符串索引,其它两个语言都是以0作用索引。
java的substring与javascript的substring相似。
javascript的substr与Oracle/PLSQL的substr相似。
【函数|sql中的substr与substring函数用法】原文出处:http://jw1314.iteye.com/blog/1211431

    推荐阅读