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 ...
随机推荐
- #背包#洛谷 4026 [SHOI2008]循环的债务
题目 分析 设\(dp[t][n][m]\)表示前\(t\)种钞票\(\text{Alice,Bob}\)分别拥有\(n,m\)元所需最小交换钞票数, 枚举\(\text{Alice,Bob}\)最后 ...
- LiteOS-A内核中的procfs文件系统分析
一. procfs介绍 procfs是类UNIX操作系统中进程文件系统(process file system)的缩写,主要用于通过内核访问进程信息和系统信息,以及可以修改内核参数改变系统行为.需要注 ...
- SpringBoot中bean的生命周期
目录 概述 使用场景 代码演示bean初始化 TestSupport BeanPostProcessorImpl log 代码 概述 Bean 生命周期管理是 Spring Boot 中的关键功能之一 ...
- 网上 server2008数据库恢复方法
从网下下载文件有两个:XX_DB_log.ldf 和XX_DB.mdf 首先:文件处理:右键--属性--安全---编辑--勾选"完全控制"--确定--即可.(两个文件都是相同操作) ...
- 每日一题--Python打印金字塔
def day1(num): s = 'abcdefghijklmnopqrstuvwxyz' * (num // 26 + 1) for i in range(1, num + 1): print( ...
- os.path.splitext
os.path.splitext是Python标准库中的一个函数,它可以将一个文件路径拆分成两部分:文件名和文件扩展名.例如: 点击查看代码 import os file_path='avercrop ...
- 重新点亮shell————变量[三]
前言 简单介绍一下shell的变量. 正文 变量的定义 变量名的命名规则 字母.数字.下划线 不以数字开头 变量的赋值 在赋值的时候不能出现空格 a =123,在等号前面有一个空格,那么会报错. 这是 ...
- js 检查对象是否没有字段
前言 我以前遇到的一个问题. var object={}; if(object=={}) { } 在这里我遇到了问题,一直是lese状态. 后来想想其实也是自己犯了一个很严重的问题,这两个不是同一个对 ...
- C/C++常考习题
1.什么是虚函数?什么是纯虚函数? 虚函数:允许被其子类重新定义的成员函数. 虚函数的声明:virtual returntype func(parameter);引入虚函数的目的是为了动态绑定: 纯虚 ...
- 初识大数据技术之Hadoop
先上一张图: 看到这张图,我脑子里出现的第一个东西就是:这货太像旅行商问题了 有限的输入与有限的输出,当输入大于一定数值时,输出趋向于无法计算.... 其实要我说啊,旅行商问题其实没必要管他,因为这个 ...