Retorna a localização da substring especificada dentro de uma string.
Consulte Função POSITION e Função STRPOS para ver funções semelhantes.
Sintaxe
CHARINDEX( substring, string )
Argumentos
- substring
-
A substring a procurar dentro da string.
- string
-
A string ou coluna a ser procurada.
Tipo de retorno
- INTEGER
-
A função CHARINDEX retorna um
INTEGER
correspondente à posição da substring (baseada em um, não baseada em zero). A posição é baseada no número de caracteres, e não bytes, de forma que caracteres multibyte são contados como caracteres simples. CHARINDEX retornará0
se a substring não for localizada dentro da string.
Exemplos
Para retornar a posição da string fish
na palavra dog
, use o exemplo a seguir.
SELECT CHARINDEX('fish', 'dog');
+-----------+
| charindex |
+-----------+
| 0 |
+-----------+
Para retornar a posição da string fish
na palavra dogfish
, use o exemplo a seguir.
SELECT CHARINDEX('fish', 'dogfish');
+-----------+
| charindex |
+-----------+
| 4 |
+-----------+
O exemplo a seguir usa a tabela SALES do exemplo de banco de dados TICKIT. Para obter mais informações, consulte Banco de dados de exemplo.
Para retornar o número de transações de vendas distinta com uma comissão acima de 999,00 da tabela SALES, use o exemplo a seguir. Esse comando conta comissões maiores que 999,00 verificando se o decimal está acima de quatro casas a partir do início do valor da comissão.
SELECT DISTINCT CHARINDEX('.', commission), COUNT (CHARINDEX('.', commission))
FROM sales
WHERE CHARINDEX('.', commission) > 4
GROUP BY CHARINDEX('.', commission)
ORDER BY 1,2;
+-----------+-------+
| charindex | count |
+-----------+-------+
| 5 | 629 |
+-----------+-------+