MS SQL Server有没有查找字符串位置的函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS SQL Server有没有查找字符串位置的函数相关的知识,希望对你有一定的参考价值。
sql 查找字符串位置使用 CHARINDEX函数。
CHARINDEX函数,在一段字符中搜索字符或者字符串。
语法
CHARINDEX ( expression1 , expression2 , [ start_location ] )
参数
expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。
start_location
在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从expression2 的起始位置开始搜索。
返回类型
int
例:
参考技术A charindex(字符串表达式1,字符串表达式2[,整数表达式])
select charindex('ab','BCabTabD')返回3
select charindex('ab','BCabTabD',4)返回6
在字符串2中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0。如果字符串1和字符串2中有一个是null则返回null。
可以指定在字符串2中查找的起始位置。本回答被提问者和网友采纳 参考技术B charindex 参考技术C sql 查找字符串位置使用 CHARINDEX函数。
CHARINDEX函数,在一段字符中搜索字符或者字符串。
语法
CHARINDEX ( expression1 , expression2 , [ start_location ] )
参数
expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。
start_location
在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从expression2 的起始位置开始搜索。
返回类型
int
select CHARINDEX('n','china',1) as 'n的位置'
sql server中的charindex
SQL Server中提供了一个charindex()方法用于查找一个字符/字符串在另一个字符/字符串中的位置。
语法
charindex(expressionToFind, expressionToSearch[, start_location])
参数
expressionToFind:目标字符串,就是想要找到的字符/字符串,最大长度为8000 。
expressionToSearch:用于被查找的字符/字符串。
start_location:开始查找的位置,为空时默认从第一位开始查找。为零或为负数,都按一开始计算查找位置。
返回值
返回值是被查找的字符/字符串在目标字符/字符串中出现的位置,从1开始计算查找位置(非下标,是实际的位置)。如果没找到匹配的字符/字符串位置,返回0。
简单示例
select charindex(‘a‘, ‘yanggb‘, 1); -- 2
经典应用
select case when charindex(‘yanggb1‘, ‘yanggb1,yanggb2,yanggb3‘) <> 0 then 1 else 0 end has_permission; -- 1
"太久没见的人,会慢慢的,连想念也没有。"
以上是关于MS SQL Server有没有查找字符串位置的函数的主要内容,如果未能解决你的问题,请参考以下文章
在 MS Access 或 SQL Server 中查找 2 个表之间的差异