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相似。

原文出处:http://jw1314.iteye.com/blog/1211431

你可能感兴趣的:(函数,sql,数据库)