Para que serve:
Retorna a posição inicial da primeira ocorrência de um padrão em uma expressão específica, ou zeros se o padrão não for encontrado, em todos os tipos de dados de caractere e de texto válidos.
abaixo um simples exemplo de como pode ser utilizado o PATINDEX
CREATE TABLE ##TEMP ( DESCRICAO VARCHAR (200) ) INSERT INTO ##TEMP (DESCRICAO) VALUES ( 'NOME: THIAGO THAMIEL - IDADE: 23 ANOS - CIDADE: GUARULHOS') INSERT INTO ##TEMP (DESCRICAO) VALUES ( 'NOME: RODOLFO HIROSHI MAKIAMA - IDADE: 24 ANOS - CIDADE: SÃO PAULO') SELECT DESCRICAO ,SUBSTRING(DESCRICAO,PATINDEX('%:%',DESCRICAO) + 2 ,PATINDEX('%IDADE%' ,DESCRICAO) -9 ) AS NOME ,SUBSTRING(DESCRICAO,PATINDEX('%IDADE%',DESCRICAO) + 7 , PATINDEX('%ANOS%',DESCRICAO) - PATINDEX('%IDADE%',DESCRICAO)-3 ) AS IDADE ,SUBSTRING(DESCRICAO,PATINDEX('%CIDADE:%',DESCRICAO) + 8 ,20) AS CIDADE ,PATINDEX('%:%',DESCRICAO) AS POSICAO ,PATINDEX('%-%',DESCRICAO) AS POSICAO ,PATINDEX('%IDADE:%',DESCRICAO) AS POSICAO ,PATINDEX('%CIDADE:%',DESCRICAO) AS POSICAO FROM ##TEMP
Categorias:Programação
Boa tarde!
Muito bom esse código…Parabéns…Muito obrigado!
Abs