PATINDEX - Sql Server 2008 - Delboni TI

About us

test banner

Breaking

Post Top Ad

Responsive Ads Here

Post Top Ad

Responsive Ads Here

quarta-feira, 12 de março de 2014

PATINDEX - Sql Server 2008

Uma dica bem simples também.
Recentemente precisei editar um relatorio de ocorrencias, para que no resultado final da consulta eliminasse a linha quando a mesma só tivesse NUMEROS na coluna "Ocorrencia".
Banco de dados Sql Server 2008.

Para tanto fiz uma pesquisa na internet, e cheguei ao seguinte resultado ( isso para atender o que eu gostaria):

PATINDEX('%[a-Z]%', o.Ocorrencia) = 0)

O PATINDEX retorna a primeira posição especifica de acordo com a expressão que eu passei, ou retorna zero caso não encontre nada.

Padrão da Expressão, é como se fosse uma expressão regular no SQL Server, e é bem facil de identificar o que ela diz. Estando entre '%' (percentes) você determina que tipo de "investigação" o patindex irá fazer. Por exemplo:
[a-Z] - vai contar todos os caracteres da string que contenham um valor entre 'a' minusculo e 'Z' maiusculo.
[0-9] - conta todos os caracteres da string que contém qualquer numero dentro desse intervalo.

e por ai vai.

Com isso, consegui eliminar os resultados onde só apareciam numeros.
OBS: caracteres especiais, não estão dentro do alfabeto. procure na internet para saber como inclui-lo na pesquisa do PATINDEX.

link recomendado:
http://technet.microsoft.com/pt-br/library/ms188395.aspx

Nenhum comentário:

Postar um comentário

Post Top Ad

Responsive Ads Here