首页 > > > CHARINDEX 函数用法
会在第二个字符表达式中搜索一个字符表达式,这将返回第一个表达式(如果发现存在)的开始位置。
语法
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )expressionToFind 一个字符表达式,其中包含要查找的序列。 expressionToFind 限制为 8000 个字符 。
expressionToSearch 要搜索的字符表达式。
start_location 表示搜索开始位置的 integer 或 bigint 表达式 。 如果 start_location 未指定、具有负数值或 0,搜索将从 expressionToSearch 的开头开始 。
如果 expressionToSearch 具有一个 nvarchar(max)、varbinary(max) 或 varchar(max) 数据类型,则为 bigint;否则为 int 。
DECLARE @document varchar(64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bicycle', @document);
GO
/*返回值为 48 */
select charindex(CHAR(32),'this Test is Test')DECLARE @document varchar(64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('vital', @document, 5);
GO
/*返回值为 16 */
DECLARE @document varchar(64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bike', @document);
GO 
'This is a Test``'中执行区分大小写的字符串'TEST'搜索。USE tempdb;
GO
--perform a case sensitive search
SELECT CHARINDEX ( 'TEST',
'This is a Test'
COLLATE Latin1_General_CS_AS);
/*返回值为 0*/
USE tempdb;
GO
SELECT CHARINDEX ( 'Test',
'This test is a Test'
COLLATE Latin1_General_CS_AS);
/*返回值为16*/
'This test is a Test'中执行不区分大小写的字符串'TEST'搜索。USE tempdb;
GO
SELECT CHARINDEX ( 'TEST',
'This test is a Test'
COLLATE Latin1_General_CI_AS);
GO
/*返回值为6*/
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3127624/ ,如需转载,请注明出处,否则将追究法律责任。