SQL中常用的字符串CHARINDEX函数和PATINDEX函数详解!
今天整理了些日常可能经常遇到的一些处理字符串的函数,有些可能在写SQL时突然间想不到如何使用,今天就给大家总结两个函数的应用方法,以备不时之需!记得点赞收藏!
CHARINDEX(expression1,expression2[,start_location])函数
解析:
expression1 必须,要查找的子字符串
expression2 必须,父字符串
start_location 可选,指定从父字符串开始查找的位置,为空时默认位置从1开始查找
作用:
判断一个字符串中是否包含另一个字符串。
从expression2字符串中指定的位置处开始查找是否包含expression1的字符串,如果能够从expression2字符串中查找到expression1字符串,则返回expression1字符串在expression2字符串中出现的位置,
反之,则返回0
注意:
CHARINDEX()函数的参数在SQL Server默认情况下大小写不敏感,但是在特殊的情况下,我们需要特意的去区分大小写,因此SQL Server专门提供了特殊的关键字用于查询时区分大小写,COLLATE Latin1_General_CS_AS(大小写敏感),COLLATE Latin1_General_CI_AS(大小写不敏感,和默认一样的效果,没必要多此一举)。
实例:
SELECT CHARINDEX('L','SQL数据库运维') --包含
--结果:3
SELECT CHARINDEX('R','SQL数据库运维') --不包含
--结果:0
SELECT CHARINDEX('l','SQL数据库运维'COLLATE Latin1_General_CS_AS) --大小写敏感
--结果:0
PATINDEX ( '%pattern%' , expression )函数
PATINDEX和CHARINDEX类似,PATINDEX也可以判断一个字符串中是否包含另一个字符串,两者的差异在于,CHARINDEX是全匹配,PATINDEX支持模糊匹配。
解析:
返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开始算。
pattern字符串在expression表达式里没找到就返回0,对所有有效的文本和字符串都是有效的数据类型。
实例:
--类型一:PATINDEX ( '%pattern%' , expression )
--'%pattern%'的用法类似于 like '%pattern%'的用法,也就是模糊查找其pattern字符串是否在expression中找到,找到并返回其第一次出现的位置,否则返回0。
SELECT PATINDEX('%SQ%','SQL数据库运维SQL')
--结果:1
--也就是SQ第一次出现的位置 --类型二:PATINDEX ( '%pattern' , expression )
--'%pattern' 类似于 like '%pattern'的用法,前面用模糊查找,也就是查找pattern的结束所在expression的位置,也就是从最后面开始匹配查找。
SELECT PATINDEX('%L','SQL数据库运维SQLLL')
--结果:13
--也就是L在后面第一次出现的位置。
SELECT PATINDEX('%L','SQL数据库运维SQLLLS')
--结果:0
--后面的第一个字母S和L不匹配,所以返回0 --类型三:PATINDEX ( 'pattern%' , expression )
--'pattern%'类似于 like 'pattern%'也就是前面用精确查找,后面模糊查找,也就相当于查询pattern首次出现的位置。
SELECT PATINDEX('SQL%','SQL数据库运维SQLLL')
--结果:1
--也就相当于起始值
SELECT PATINDEX('SQL%','SSQL数据库运维SQLLL')
--结果:0
--开头找不到就返回0,后面无论有多少都不管 --类型四:PATINDEX ( 'pattern' , expression )
--相当于精确匹配查找,也就是pattern,expression完全相等。
SELECT PATINDEX('SQL数据库运维','SQL数据库运维')
--结果:1
--完全相等
SELECT PATINDEX('数据库运维','SQL数据库运维')
--结果:0
--不完全相等
注:内容转载于微信公众号:SQL数据库运维,如需了解更多相关内容,请自行前往关注!
SQL中常用的字符串CHARINDEX函数和PATINDEX函数详解!的更多相关文章
- JQuery中常用的$.get(),$.post(),$.ajax(),$.getJSON(),load()的详解与区别
背景:因为最近需要获取本地的数据件进行项目测试,需要用到JQuery实现数据文件的读取,但是由于对JQuery内的获取文件方式不太了解,这次趁着机会进行一下总结.因为该总结是本人根据平常的使用及网上的 ...
- SQL中常用的字符串LEFT函数和RIGHT函数详解!
今天继续整理日常可能经常遇到的一些处理字符串的函数,记得点赞收藏!以备不时之需!看到最后有惊喜! LEFT(expression, length)函数 解析:从提供的字符串的左侧开始提取给定长度的字符 ...
- SQL点滴30—SQL中常用的函数
原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很 ...
- LoadRunner中常用的字符串操作函数
LoadRunner中常用的字符串操作函数有: strcpy(destination_string, source_string); strc ...
- Js中常用的字符串,数组,函数扩展
由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...
- Sql 中常用时间处理函数
1.Sql 中常用时间处理函数 GETDATE() 返回当前的日期和时间 DATEPART() 返回日期/时间的单独部分 DATEADD() 返回日期中添加或减去指定的时间间隔 DATEDI ...
- sql server charindex函数和patindex函数详解(转)
charindex和patindex函数常常用来在一段字符中搜索字符或字符串.假如被搜索的字符中包含有要搜索的字符,那么这两个函数返回一个非零的整数,这个整数是要搜索的字符在被搜索的字符中的开始位数. ...
- java中常用的字符串的截取方法
java中常用的字符串的截取方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int l ...
- 深入SQL截取字符串(substring与patindex)的详解
首先学习两个函数1.substring 返回字符.binary.text 或 image 表达式的一部分.基本语法:SUBSTRING ( expression , start , length ) ...
- Delphi Format函数功能及用法详解
DELPHI中Format函数功能及用法详解 DELPHI中Format函数功能及用法详解function Format(const Format: string; const Args: array ...
随机推荐
- 使用POI、JavaCsv工具读取excel文件(*.xls , *.xlsx , *.csv)存入MySQL数据库
首先进行maven的配置:导入相关依赖 1 <dependency> 2 <groupId>org.apache.poi</groupId> 3 <artif ...
- ArrayList,LinkedList,Vector三者的区别
List 中元素是有序的,元素可以重复,因为该集合体有索引 ArrayList: 底层数据结构是数组,查询快,增删慢. 线程不安全,效率高. 当元素放满了后,默认以原长度的 50%+1 的长度加长集合 ...
- 使用OHOS SDK构建flac
参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/xiph/flac 进入 ...
- Python基础之:Python中的模块
目录 简介 模块基础 执行模块 模块搜索路径 dir 包 包的相对路径 简介 Python的解释环境是很好用,但是如果我们需要编写一个大型的程序的时候,解释环境就完全不够用了.这个时候我们需要将pyt ...
- ssm 创建bean的三种方式和spring依赖注入的三种方式
<!--创建bean的第一种方式:使用默认无参构造函数 在默认情况下: 它会根据默认无参构造函数来创建类对象.如果 bean 中没有默认无参构造函数,将会创建失败--> <bean ...
- Apollo+ES源码改造,构建民生银行的ELK日志平台配置管理中心【转载】
Apollo+ES源码改造,构建民生银行的ELK日志平台配置管理中心 原创 高效开发运维 架构头条 2019-02-28 作者 | 中国民生银行大数据基础平台运维组团队 编辑 | 张婵 随着 IT 业 ...
- js es6 Proxy
传统的get,set ES6 中引入Proxies,让你可以自定义Object的基本操作.例如,get就是Object的基础操作方法. const obj = { val: 10 }; console ...
- 【进阶篇】Java 实际开发中积累的几个小技巧(二)
目录 前言 六.自定义注解 6.1定义注解 6.2切面实现 6.3业务使用 七.抽象类和接口 7.1隔离业务层与 ORM 层 7.2隔离子系统的业务实现 7.3选择对比 文章小结 前言 笔者目前从事一 ...
- Flask搭建APP统一管理平台
主页效果: 1.从数据库中获取所有APP的信息,每个卡片上展示APP名称.bundle id.版本构建历史记录,系统类型等构建信息 2.支持查询筛选,模糊查询 3.点击历史记录跳转APP历史记录详情页 ...
- wordcloud 词云Python
from wordcloud import WordCloud import matplotlib.pyplot as plt def get_word_cloud(words_list): #首先实 ...