Oraclez中instr的用法

 今天被一新同事问起oracle中的instr用法,竟只知道类似于Java的索引方法index,对其参数却不甚了解,回来赶紧上网恶补了下:
 InStr([start, ]string1, string2[, compare]),下标从1开始
 表达式:INSTR(从第几个字符开始,源字符串,要查找的字符串,匹配模式)
 参数解释:
 start
 可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,将从第一个字符的位置开始搜索。如果start 包含 Null,则会出现错误。如果已指定 compare,则必须要有 start 参数。 
	string1
 必选项。接受搜索的字符串表达式。
 string2
 必选项。要搜索的字符串表达式。
 compare
 可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,将执行二进制比较。
 设置
 compare 参数可以有以下值:
 常数 值 描述
 vbBinaryCompare 0 执行二进制比较。
 vbTextCompare 1 执行文本比较。
 InStr 函数示例:
 本示例使用 InStr 函数来查找某字符串在另一个字符串中首次出现的位置。
 Dim SearchString, SearchChar, MyPos
 SearchString ="XXpXXpXXPXXP"   ' 被搜索的字符串。
 SearchChar = "P"   ' 要查找字符串 "P"。
 从第四个字符开始,以文本比较的方式找起。返回值为 6(小写 p)。
 小写 p 和大写 P 在文本比较下是一样的。
 MyPos = Instr(4, SearchString, SearchChar, 1)
 从第一个字符开使,以二进制比较的方式找起。返回值为 9(大写 P)。
 小写 p 和大写 P 在二进制比较下是不一样的。
 MyPos = Instr(1, SearchString, SearchChar, 0)
 缺省的比对方式为二进制比较(最后一个参数可省略)。
 MyPos = Instr(SearchString, SearchChar)   ' 返回 9。
 MyPos = Instr(1, SearchString, "W")   ' 返回 0。

猜你喜欢

转载自lsp1988.iteye.com/blog/1681876