CHARINDEX (Transact-SQL)

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