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 pattern
input_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