今天整理了些日常可能经常遇到的一些处理字符串的函数,有些可能在写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函数详解!的更多相关文章

  1. JQuery中常用的$.get(),$.post(),$.ajax(),$.getJSON(),load()的详解与区别

    背景:因为最近需要获取本地的数据件进行项目测试,需要用到JQuery实现数据文件的读取,但是由于对JQuery内的获取文件方式不太了解,这次趁着机会进行一下总结.因为该总结是本人根据平常的使用及网上的 ...

  2. SQL中常用的字符串LEFT函数和RIGHT函数详解!

    今天继续整理日常可能经常遇到的一些处理字符串的函数,记得点赞收藏!以备不时之需!看到最后有惊喜! LEFT(expression, length)函数 解析:从提供的字符串的左侧开始提取给定长度的字符 ...

  3. SQL点滴30—SQL中常用的函数

    原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很 ...

  4. LoadRunner中常用的字符串操作函数

    LoadRunner中常用的字符串操作函数有:                strcpy(destination_string, source_string);               strc ...

  5. Js中常用的字符串,数组,函数扩展

    由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...

  6. Sql 中常用时间处理函数

    1.Sql 中常用时间处理函数  GETDATE()  返回当前的日期和时间 DATEPART()  返回日期/时间的单独部分 DATEADD()   返回日期中添加或减去指定的时间间隔 DATEDI ...

  7. sql server charindex函数和patindex函数详解(转)

    charindex和patindex函数常常用来在一段字符中搜索字符或字符串.假如被搜索的字符中包含有要搜索的字符,那么这两个函数返回一个非零的整数,这个整数是要搜索的字符在被搜索的字符中的开始位数. ...

  8. java中常用的字符串的截取方法

    java中常用的字符串的截取方法   1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int l ...

  9. 深入SQL截取字符串(substring与patindex)的详解

    首先学习两个函数1.substring  返回字符.binary.text 或 image 表达式的一部分.基本语法:SUBSTRING ( expression , start , length ) ...

  10. Delphi Format函数功能及用法详解

    DELPHI中Format函数功能及用法详解 DELPHI中Format函数功能及用法详解function Format(const Format: string; const Args: array ...

随机推荐

  1. #背包#洛谷 4026 [SHOI2008]循环的债务

    题目 分析 设\(dp[t][n][m]\)表示前\(t\)种钞票\(\text{Alice,Bob}\)分别拥有\(n,m\)元所需最小交换钞票数, 枚举\(\text{Alice,Bob}\)最后 ...

  2. LiteOS-A内核中的procfs文件系统分析

    一. procfs介绍 procfs是类UNIX操作系统中进程文件系统(process file system)的缩写,主要用于通过内核访问进程信息和系统信息,以及可以修改内核参数改变系统行为.需要注 ...

  3. SpringBoot中bean的生命周期

    目录 概述 使用场景 代码演示bean初始化 TestSupport BeanPostProcessorImpl log 代码 概述 Bean 生命周期管理是 Spring Boot 中的关键功能之一 ...

  4. 网上 server2008数据库恢复方法

    从网下下载文件有两个:XX_DB_log.ldf 和XX_DB.mdf 首先:文件处理:右键--属性--安全---编辑--勾选"完全控制"--确定--即可.(两个文件都是相同操作) ...

  5. 每日一题--Python打印金字塔

    def day1(num): s = 'abcdefghijklmnopqrstuvwxyz' * (num // 26 + 1) for i in range(1, num + 1): print( ...

  6. os.path.splitext

    os.path.splitext是Python标准库中的一个函数,它可以将一个文件路径拆分成两部分:文件名和文件扩展名.例如: 点击查看代码 import os file_path='avercrop ...

  7. 重新点亮shell————变量[三]

    前言 简单介绍一下shell的变量. 正文 变量的定义 变量名的命名规则 字母.数字.下划线 不以数字开头 变量的赋值 在赋值的时候不能出现空格 a =123,在等号前面有一个空格,那么会报错. 这是 ...

  8. js 检查对象是否没有字段

    前言 我以前遇到的一个问题. var object={}; if(object=={}) { } 在这里我遇到了问题,一直是lese状态. 后来想想其实也是自己犯了一个很严重的问题,这两个不是同一个对 ...

  9. C/C++常考习题

    1.什么是虚函数?什么是纯虚函数? 虚函数:允许被其子类重新定义的成员函数. 虚函数的声明:virtual returntype func(parameter);引入虚函数的目的是为了动态绑定: 纯虚 ...

  10. 初识大数据技术之Hadoop

    先上一张图: 看到这张图,我脑子里出现的第一个东西就是:这货太像旅行商问题了 有限的输入与有限的输出,当输入大于一定数值时,输出趋向于无法计算.... 其实要我说啊,旅行商问题其实没必要管他,因为这个 ...