SQL中CHARINDEX()/INSTR()函数和SUBSTRING()/SUBSTR()函数
一、SQLServer中的CHARINDEX() 和ORACLE中的INSTR()函数
1、INSTR(C1,C2[,I[,J]])
【功能】在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
【说明】多字节符(汉字、全角符等),按1个字符计算
【参数】 C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 第J次出现的位置,默认为1
【返回】数值
【示例】
select instr('abcdefgc','c',1,2) from dual;
返回:8
2、CHARINDEX(C1,C2[,I])
【功能】在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
【说明】多字节符(汉字、全角符等),按1个字符计算
【参数】C1希望搜索的字符串
C2被搜索的字符串
I 搜索的开始位置,默认为1
【返回值】数值
【实例】
select charindex('c','abcdefgc',4)
返回:8
【总结】需要注意的地方是虽然INSTR和CHARINDEX函数实现的功能相同,但C1,C2表示的意思完全相反,而且INSTR的功能更强大,可以查找第J次出现的位置。
二、SQLServer/MySQL中的SUBSTRING() 和ORACLE中的SUBSTR()函数
功能:返回字符、二进制、文本或图像表达式的一部分
语法:SUBSTRING ( expression, start, length )
SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:
- MySQL: SUBSTR(), SUBSTRING()
- Oracle: SUBSTR()
- SQL Server: SUBSTRING()
参数:
expression 字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。
start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置。
- length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度。
- 返回值:
如果 expression 是一种支持的字符数据类型,则返回字符数据。如果 expression 是一种支持的二进制数据类型,则返回二进制数据。如果 start = 1,则子字符串从表达式的第一个字符开始。
返回字符串的类型与给定表达式的类型相同(下表所示内容除外)。
示例:
select SUBSTRING(displayname,3,len(displayname) from table where len(displayname)>3;--SQLServer
select SUBSTR(displayname,3,length(displayname) from table where length(displayname)>3;--ORACLE
http://www.cnblogs.com/ivan0626/p/3664548.html
http://www.cnblogs.com/xionglee/articles/1444927.html
SQL中CHARINDEX()/INSTR()函数和SUBSTRING()/SUBSTR()函数的更多相关文章
- SQL中Charindex和Oracle中对应的函数Instr
转:http://blog.csdn.net/zhuyu19911016520/article/details/8568640 sql :charindex('字符串',字段)>0 charin ...
- 关于js的string的3个函数slice,substring,substr对比
slice,substring,substr三个函数都是截取字符串,但是对参数的处理有区别 参数处理相似的两个函数式slice和substring slice(start,end)和substring ...
- Sql中CHARINDEX用法
CHARINDEX作用 写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEI ...
- 字符串截取函数slice, substring, substr
在日常项目需求中,常常会遇到需要截取字符串操作的工作,而ECMAScript为我们提供了原生的截取字符串的函数,而且提供了三个:slice, substring, substr.我们怎么判断在什么时候 ...
- sql中charindex
假如你写过很多程序,你可能偶尔会碰到要确定字符或字符窜串否包含在一段文字中,在这篇文章中,我将讨论使用CHARINDEX和PATINDEX函数来搜索文字列和字符串.我将告诉你这两个函数是如何运转的,解 ...
- sql中charindex的用法
转自:https://www.cnblogs.com/beeone/p/3621743.html CHARINDEX和PATINDEX函数常常用来在一段字符中搜索字符或者字符串.如果被搜索的字符中包含 ...
- sql中charindex和cast结合使用
1.CHARINDEX函数常常用来在一段字符中搜索字符或者字符串. 语法 CHARINDEX ( expression1 , expression2 [ , start_location ] ) 返回 ...
- js字符串函数之substring() substr()
substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数 描述start 必需.一个非负的整 ...
- SQL中一种类似GUID值的函数实现
开发中会需要用到多列值组合成一个ID值的情况.比如做数据清洗的时候,一张表A有五列,分别是医院.科室.医生.职称.电话.面有许多重复的数据需要和另一个表B(和A列相同)做对比.清洗需要做两件事 ...
随机推荐
- 不可或缺 Windows Native 系列文章索引
[源码下载] 不可或缺 Windows Native 系列文章索引 作者:webabcd 1.不可或缺 Windows Native (1) - C 语言: hello c 介绍不可或缺 Window ...
- onblur鼠标失去焦点事件
- 一不小心把oschina给戒了
不知怎么回事,逐渐变成一周看一次oschina了.
- html中代码高亮显示
<html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″> ...
- NOI 2015 荷马史诗【BZOJ 4198】k叉Huffman树
抱歉因为NOIP集训,好长时间没再写题解了. NOI 2015也就只有这道题一看就能懂了-- 4198: [Noi2015]荷马史诗 Time Limit: 10 Sec Memory Limit: ...
- Node.js的UnitTest单元测试
body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; } 在专业化的软件开发过程中,无论什么平台语言,现在都需要UnitTes ...
- js 字符串 replace replaceAll
var str = "男的女的老的少的"; alert(str.replace('的','')); 可以看到替换后的str的值为"男女的老的少的",replac ...
- 通过GP加载卫星云图-雷达图-降雨预报图
# ---------------------------------------------------------------------------# MeteorologicalImageLo ...
- python中的迭代与递归
遇到一个情况,需要进行递归操作,但是呢递归次数非常大,有一万多次.先不说一万多次递归,原来的测试代码是java的,没装jdk和编译环境,还是用python吧 先看下原本的java代码: public ...
- 如何保护在Autodesk应用程序商店的应用不被盗版 - 1
Autodesk应用程序商店如火如荼,但来自中国的应用却还是寥寥无几.大家在担心什么呢?可能其中一个因素就是担心自己的应用上线后被盗版的问题.对应用的版权保护和授权管理是每个应用开发者都应该认真考虑的 ...