Oracle instr函数与SqlServer charindex的区别

INSTR(C1,C2[,I[,J]])

【功能】在一个字符串中搜索指定的字符,返回发现指定的字符的位置;

【说明】多字节符(汉字、全角符等),按1个字符计算

【参数】 C1 被搜索的字符串

            C2 希望搜索的字符串

            I 搜索的开始位置,默认为1

            J 第J次出现的位置,默认为1

【返回】数值

【示例】

select instr('abcdefgc','c',1,2) from dual;
返回:8

CHARINDEX(C1,C2[,I])

【功能】在一个字符串中搜索指定的字符,返回发现指定的字符的位置;

【说明】多字节符(汉字、全角符等),按1个字符计算

【参数】C1希望搜索的字符串

          C2被搜索的字符串

           I 搜索的开始位置,默认为1

【返回值】数值

【实例】

select charindex('c','abcdefgc',4)

返回:8

 

【总结】需要注意的地方是虽然INSTRCHARINDEX函数实现的功能相同,但C1,C2表示的意思完全相反,而且INSTR的功能更强大,可以查找第J次出现的位置。

posted @ 2014-04-14 17:59  竹 影 清 风  阅读(23425)  评论(0编辑  收藏  举报