Oraclez中instr的用法

本文详细解读了Oracle数据库中INSTR函数的用法,包括参数解释、示例应用及不同比较模式下的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	今天被一新同事问起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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值