SQL Server 2016 函数:CHARINDEX

  • CHARINDEX 返回字符或者字符串在另一个字符串中的起始位置
CHARINDEX(expression1,expression2[,start_location]);
  • expression1 是要到 expression2 中取寻找的字符串,start_location 是可选参数,是指要在 expression2 的第几个位置开始查找
  • CHARINDEX 函数返回的是一个整数,这个整数是 expression1 在 expression2 中的位置,如果 expression2 中没有找到 expression1,则返回 0
  • PATINDEX 返回字符或者字符串在另一个字符串中的起始位置
PATINDEX(expression1,expression2[,start_location]);
  • PATINDEX 函数支持在搜索字符串中使用通配符,所以它的价值体现在要对变化的字符串进行搜索时(类比模糊查询)
SELECT CHARINDEX('cd','abcdef');  -- 返回的位置是从 1 开始计数的,所以返回结果位置为 3

SELECT PATINDEX('cd','abcdef');  -- PATINDEX 直接匹配是寻找不到结果的,所以通常情况下都是与 通配符 一起使用

SELECT PATINDEX('abcdef','abcdef');  -- PATINDEX 在不与通配一起使用的情况下要想寻找到结果,查询字符串和被查询字符串必须相同

SELECT PATINDEX('%cd%','abcdef');

SELECT PATINDEX('%ef','abcdef');  -- 所以多数情况下 PATINDEX 更多的是判断字符串是否以某个字符串 开头或者结尾

SELECT PATINDEX('ab%','abcdef');
image.png
SELECT *,CHARINDEX('计算机',Description) AS Desc_Location FROM Subject;
SELECT *,CHARINDEX('计算机',Description,10) AS Desc_Location FROM Subject;  -- 指定起始位置从第 10 个字符开始查找

SELECT *,PATINDEX('%是一门%',Description) AS Desc_Location FROM Subject;
SELECT *,PATINDEX('%是一门%',Description) AS Desc_Location FROM Subject;
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 字符串函数 在开发T-SQL时,经常会需要对字符串进行各种各样的操作,下面介绍常用的字符串函数。 1、获取字符的A...
    道素阅读 1,255评论 0 2
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,539评论 0 5
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,275评论 0 13
  • php usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。 uni...
    思梦PHP阅读 2,060评论 1 24
  • 总结了一些开发中常用的函数: usleep() //函数延迟代码执行若干微秒。 unpack() //函数从二进制...
    ADL2022阅读 489评论 0 3