função PATINDEX do servidor SQL
Resumo: neste tutorial, você aprendeu a usar o servidor SQL PATINDEX() função para encontrar a posição de um padrão em uma string.
SQL Server PATINDEX() overview
The PATINDEX() function returns the position of the first occurrence of a pattern in a string. A sintaxe da função PATINDEX() é a seguinte:
Code language: SQL (Structured Query Language) (sql)PATINDEX ( '%pattern%' , input_string )
a PATINDEX() a função aceita dois argumentos:
-
patterné uma expressão de caracteres a ser encontrada. Pode conter caracteres especiais como%e'_'no padrão. Os significados dos caracteres especiais são os mesmos que são usados com o operadorLIKE. input_stringé uma cadeia de caracteres na qual o padrão a ser pesquisado.
PATINDEX() retorna um número inteiro que especifica a posição da primeira ocorrência de patterninput_string, ou zero se o padrão não foi encontrado. The PATINDEX() function will return NULL if either pattern or input_string is NULL.
Note que o PATINDEX() procura o padrão baseado na colação da entrada. Se você quiser usar uma colação específica, você pode usar a cláusula COLLATE explicitamente.
SQL Server PATINDEX() function examples
Let’s take some examples of using the PATINDEX() function.
A) o SQL Server PATINDEX() exemplo simples
Este exemplo retorna a posição inicial da subseqüência 'ern' na cadeia de caracteres 'SQL Pattern Index':
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
Aqui é a saída:
position-----------9(1 row affected)
B) Utilizando o SQL Server PATINDEX() com vários caracteres universais exemplo
Este exemplo utiliza % e _ caracteres curinga para localizar a posição na qual o padrão 'f' seguido de dois caracteres e 'ction' começa na 'SQL Server String Function' cadeia de caracteres:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
o resultado é O seguinte:
Position-----------19(1 row affected)
C) Utilizando o SQL Server PATINDEX função() com a coluna da tabela de exemplo
Este exemplo localiza a posição da primeira ocorrência do padrão 2018 em valores de product_name coluna production.products tabela do banco de dados de exemplo.
Code language: SQL (Structured Query Language) (sql)SELECT product_name, PATINDEX('%2018%', product_name) positionFROM production.productsWHERE product_name LIKE '%2018%'ORDER BY product_name;
a imagem seguinte mostra a saída parcial:

neste tutorial, você aprendeu como usar o SQL Server PATINDEX() função para localizar a posição da primeira ocorrência de um padrão em uma seqüência de caracteres.
Leave a Reply