数据结构 机器学习 XML解析 压制组装机 html CK web reflection grid testng sketch up教程 sql视频教程 js的点击事件 art神经网络 mysql统计数量 matlab向量的模 matlab停止运行 spring源码下载 oracle行转列函数 docker启动命令 kubernetes实战 mysql 连接 python3正则表达式 python环境配置 python参考手册 python打开文件 python输出中文 python读文件 python平台 python读取字典 java基础 java使用mysql java怎么连接数据库 java写入txt文件 java文件读取 linux安装教程 网页游戏开发入门 系统集成项目管理工程师教程 abaqus最新版本 网络是怎样连接的
当前位置: 首页 > 学习教程  > 编程语言

Sql中CHARINDEX用法

2020/11/4 15:22:42 文章标签:

CHARINDEX作用 写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEINDX的函数,顾名思义就是找到字符(char)的位置&#xf…

CHARINDEX作用

写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEINDX的函数,顾名思义就是找到字符(char)的位置(index),既然能够知道所在的位置,当然就可以判断是否包含在其中了。

  通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0。

  基本语法如下:

CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )

  expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。

expressionToSearch :用于被查找的字符串。

  start_location:开始查找的位置,为空时默认从第一位开始查找。

CHAEINDEX示例

1.简单用法

select charindex(‘test’,‘this Test is Test’)

查询结果:

2.增加开始位置

select charindex(‘test’,‘this Test is Test’,7)

查询结果:

3.大小写敏感

select charindex(‘test’,'this Test is Test’COLLATE Latin1_General_CS_AS)

查询结果:

返回结果为0???,不要怀疑你的眼睛,因为大小写敏感,找不到test所以返回的就是0,默认情况下, SQL SERVER是大小不敏感的,所以我们简单示例中返回结果不为0,但是有些时候我们需要特意去区分大小写,因此专门SQL SERVE提供了特殊的关键字用于查询时区分大小写,其中CS为Case-Sensitve的缩写。

4.大小写不敏感

select charindex(‘Test’,'this Test is Test’COLLATE Latin1_General_CI_AS)

查询结果:

我们也可以这样说明是大小写不敏感,其中CI是Case-InSensitve的缩写,即大小写不敏感,当然我们没必要多此一举。

PATINDEX

和CHARINDEX类似,PATINDEX也可以用来判断一个字符串中是否包含另一个字符串,两种的差异在于,前者是全匹配,后者支持模糊匹配。

1.简单示例

select PATINDEX(’%ter%’,‘interesting data’)

查询结果:

2.简单示例2

select PATINDEX(’%t_ng%’,‘interesting data’)

查询结果:

PATINDEX也允许支持大小写敏感,做法和CHARINDEX一样,此处不再累述。

https://www.cnblogs.com/qianxingdewoniu/p/6858580.html


本文链接: http://www.dtmao.cc/news_show_350366.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?