UTILIZANDO O PATINDEX – SQL

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

Tags:, , , , , , , , , , , , , ,

1 resposta

  1. Boa tarde!
    Muito bom esse código…Parabéns…Muito obrigado!
    Abs

Deixe uma resposta

%d blogueiros gostam disto: