CHARINDEX (Transact-SQL)
语法:CHARINDEX ( 表达式1,表达式2,开始位置)
参数:
表达式1
expression that contains the sequence to be found.' xmlspace="preserve" >包含要查找的序列的字符表达式。 expressionToFind is limited to 8000 characters.' xmlspace="preserve" >表达式1最多包含 8000 个字符。
表达式2要搜索的字符表达式。可以使变量 (表达式1在表达式2中查找)start_location
integer or bigint expression at which the search starts.' xmlspace="preserve" >表示搜索起始位置的 integer 或 bigint 表达式。 start_location is not specified, is a negative number, or is 0, the search starts at the beginning of expressionToSearch.' xmlspace="preserve" >如果未指定 start_location,该参数为负数或 0,则从expressionToSearch 开头开始搜索。 默认从表达式2的第一位开始查找
扩展:
CHARINDEX 根据输入的排序规则执行比较操作。 若要以指定排序规则进行比较,则可以使用 COLLATE 将显式排序规则应用于输入。
区分大小写:
以下示例在 'Das ist ein Test' 中执行区分大小写的字符串 'TEST' 搜索。
SELECT CHARINDEX ( 'TEST', 'Das ist ein Test'
COLLATE Latin1_General_CS_AS);
结果为 0
SELECT CHARINDEX ( 'Test', 'Das ist ein Test'
COLLATE Latin1_General_CS_AS);
结果为13
不区分大小写
以下示例在 'Das ist ein Test' 中执行不区分大小写的字符串 'TEST' 搜索。
SELECT CHARINDEX ( 'TEST','Das ist ein Test'
COLLATE Latin1_General_CI_AS)
结果:13