第二十七章 SQL函数 CHARINDEX
文章目录
- 第二十七章 SQL函数 CHARINDEX
- 大纲
- 参数
- 描述
- CHARINDEX, POSITION, $FIND和INSTR
- 示例
第二十七章 SQL函数 CHARINDEX
一个字符串函数,它返回子字符串在字符串中的位置,具有可选的搜索起点。
大纲
CHARINDEX(substring,string[,start])
参数
substring
- 要在字符串中匹配的子字符串。string
- 作为子字符串搜索目标的字符串表达式。start
- 可选-子字符串搜索的起始点,指定为正整数。
从字符串开始的字符计数,从1
开始计数。
若要从字符串的开头开始搜索,请忽略此参数或指定从0
或1
开始。
负数、空字符串、NULL
或非数字值被视为0
。
CHARINDEX
返回INTEGER
数据类型。
描述
CHARINDEX
在字符串中搜索子字符串。
如果找到匹配,则返回第一个匹配子字符串的起始位置,从1开始计算。
如果不能找到子字符串,CHARINDEX
返回0
。
空字符串是一个字符串值。
因此,可以将空字符串用于任意一个字符串参数值。
start
参数将空字符串值视为0
。
但是,请注意ObjectScript空字符串作为NULL
传递给 SQL。
NULL
不是SQL中的字符串值。
因此,为任何一个CHARINDEX
字符串参数指定NULL
都会返回NULL
。
CHARINDEX
不能将%Stream.GlobalCharacter
字段用于字符串或子字符串参数。尝试这样做会生成SQLCODE-37
错误。可以使用SUBSTRING
函数获取%Stream.GlobalCharacter
字段并返回%String
数据类型值以供CHARINDEX
使用。
CHARINDEX
区分大小写。使用其中一个大小写转换函数查找字母或字符串的大写和小写实例。
此函数提供了与Transact-SQL
实现的兼容性。
CHARINDEX, POSITION, $FIND和INSTR
CHARINDEX
, POSITION
, $FIND
和INSTR
都在字符串中搜索指定的子字符串,并返回与第一个匹配项对应的整数位置。
CHARINDEX
、POSITION
和INSTR
返回匹配子字符串的第一个字符的整数位置。
$FIND
返回匹配子字符串结束后第一个字符的整数位置。
CHARINDEX
、$FIND
和INSTR
支持指定子字符串搜索的起始点。
INSTR
还支持从起始点指定子字符串出现。
下面的示例演示了这四个函数,指定了所有可选参数。
注意,在这些函数中,string
和substring
的位置不同:
SELECT POSITION('br' IN 'The broken brown briefcase') AS Position,CHARINDEX('br','The broken brown briefcase',6) AS Charindex,$FIND('The broken brown briefcase','br',6) AS Find,INSTR('The broken brown briefcase','br',6,2) AS Inst
示例
下面的示例在一个核苷酸序列中搜索子字符串TTAGGG
的首次出现。
它返回7
,这个子字符串在字符串中的位置:
SELECT CHARINDEX('TTAGGG','TTAGTCTTAGGGACATTAGGG')7
下面的示例搜索所有包含子字符串“Fred”
的Name
字段值:
SELECT Name
FROM Sample.Person
WHERE CHARINDEX('Fred',Name)>0
以下示例使用SUBSTRING
允许CHARINDEX
搜索包含DNA
核苷酸序列的%Stream.GlobalCharacter
字段的前1000
个字符,以查找子字符串TTAGGG
的第一个匹配项:
SELECT CHARINDEX('TTAGGG',SUBSTRING(DNASeq,1,1000)) FROM Sample.DNASequences
以下示例匹配前10个字符后的子字符串:
SELECT CHARINDEX('Re','Reduce, Reuse, Recycle',10)16
下面的示例指定超出字符串长度的起始位置:
SELECT CHARINDEX('Re','Reduce, Reuse, Recycle',99)0
以下示例显示CHARINDEX
处理空字符串(‘’
)的方式与处理任何其他字符串值一样:
SELECT CHARINDEX('','Fred Astare'),CHARINDEX('A',''),CHARINDEX('','')
在上面的示例中,第一个和第二个CHARINDEX
函数返回0
(不匹配)。第三个函数返回1
,因为空字符串与位置1
处的空字符串匹配。
以下示例显示CHARINDEX
不将NULL
视为字符串值。为任一字符串指定NULL
始终返回NULL
:
SELECT CHARINDEX(NULL,'Fred Astare'),CHARINDEX('A',NULL),CHARINDEX(NULL,NULL)
第二十七章 SQL函数 CHARINDEX相关推荐
- 第五十七章 SQL函数 $FIND
文章目录 第五十七章 SQL函数 $FIND 大纲 参数 描述 $FIND, POSITION, CHARINDEX, INSTR 示例 第五十七章 SQL函数 $FIND 字符串函数,返回字符串中子 ...
- 第三十七章 SQL函数 CURRENT_TIMESTAMP
文章目录 第三十七章 SQL函数 CURRENT_TIMESTAMP 大纲 参数 描述 精确到小数部分的秒 配置精度 日期和时间函数比较 示例 第三十七章 SQL函数 CURRENT_TIMESTAM ...
- 第七十七章 SQL函数 LENGTH
文章目录 第七十七章 SQL函数 LENGTH 大纲 参数 描述 示例 第七十七章 SQL函数 LENGTH 返回字符串表达式中字符数的字符串函数. 大纲 LENGTH(string-expressi ...
- 第二十三章 SQL函数 CAST(二)
文章目录 第二十三章 SQL函数 CAST(二) 转换位值 示例 第二十三章 SQL函数 CAST(二) 转换位值 可以将expr值转换为BIT以返回0或1. 如果expr为1或任何其他非零数值,则返 ...
- 第六十七章 SQL函数 ISNUMERIC
文章目录 第六十七章 SQL函数 ISNUMERIC 大纲 参数 描述 示例 第六十七章 SQL函数 ISNUMERIC 测试有效数字的数值函数. 大纲 ISNUMERIC(check-express ...
- 第二十四章 SQL函数 CEILING
文章目录 第二十四章 SQL函数 CEILING 大纲 参数 描述 示例 第二十四章 SQL函数 CEILING 数值函数,返回大于或等于给定数值表达式的最小整数. 大纲 CEILING(numeri ...
- 第二十九章 SQL函数 COALESCE
文章目录 第二十九章 SQL函数 COALESCE 大纲 描述 返回值的数据类型 比较NULL处理函数 示例 第二十九章 SQL函数 COALESCE 返回第一个非空表达式的值的函数. 大纲 COAL ...
- 第二十二章 SQL函数 CAST(一)
文章目录 第二十二章 SQL函数 CAST(一) 大纲 参数 描述 转换数字 字符串类型转换 转换为DATE.TIME和TIMESTAMP 转换NULL和空字符串 转换日期 第二十二章 SQL函数 C ...
- 第二十五章 SQL函数 CHAR
文章目录 第二十五章 SQL函数 CHAR 大纲 参数 描述 示例 第二十五章 SQL函数 CHAR 返回具有在字符串表达式中指定的ASCII代码值的字符的字符串函数. 大纲 CHAR(code-va ...
最新文章
- 微服务注册中心的选型和思考
- mysql修改主键属性_mysql如何改变主键属性
- office365加速解决方案
- Java课堂测试01及感想
- 大数据之-Hadoop环境搭建_hadoop目录结构---大数据之hadoop工作笔记0019
- java中拦截器 过滤器 监听器都有什么区别
- 姆巴佩独造三球一战成名 阿里云打破世界杯流量纪录
- 【Java】synchronized与lock的区别
- 浅析人工智能自然语言生成定义
- Flash、Ajax各自的优缺点,在使用中如何取舍?
- sql 获取日期时分秒_[转载]ASP.NET和SQLserver获取当前日期时间:年月日、时分秒...
- 华为eNSP三层架构网络配置
- python如何设置当前工作路径?
- Inheritance: 'A' is an inaccessible base of 'B'
- RACV2022观点集锦 | 视觉基础模型
- 怎么部署项目解析域名_内部解析服务器部署
- 关于用例 前置条件等的理解(1)
- sql取每组最新数据
- break语句和continue语句的区别
- java简单搭建分布式架构
热门文章
- java使用itext填充pdf模板文字和图片,并使填充后的模板内容垂直水平居中
- Cryengine渲染引擎剖析
- 建行etc系统无法连接到服务器,投诉建行强行绑定ETC导致现在无法办理
- 绝地求生刺激战场模拟器怎么设置操作最流畅?刺激战场灵敏度最佳设置
- 有没有通话质量比较好的蓝牙耳机?高清通话的蓝牙耳机推荐
- 线上商城小程序的8大必备功能,让你的电商无往不利!
- c语言怎么自定义关机时间,C语言编写简单的定时关机程序
- Leetcode算法——65、有效数字(valid number)
- 无法安装服务vmware authorization service请确保您有足够的权限安装系统服务--解决方案:
- winserver2012R2虚拟机安装密钥