Array
(
)

Como achar nomes abreviados

Digowars
   - 15 fev 2007

Olá pessoal, sou novo aqui no fórum, e estou começando a pegar SQL agora.
Estou com uma tarefa aqui, que eu tenho que achar os nomes cadastrados que estão abreviados no sistema. como eu poderia estar procurando isso??
me disseram aqui que tem um comando pra isso. acho meio difícil, mas alguém sabe que comando é esse? ou qual o melhor caminho pra eu achar esse registros??
abraços

Flavio
   - 28 set 2015

Leia sobre CHARINDEX e PATINDEX no Sql Server

ex.: Suponha o campo NOME com 50 mil registros e você precise encontrar nomes abreviados.

select NOME from TABELA
where CHARINDEX(' A ', NOME) > 0

Retorna todos os nomes que tiverem uma letra A maiúscula solta no meio do nome, ou seja, com espaços antes e depois da letra A. Obviamente existe um alfabeto inteiro, a título de exmplo, se tiver ponto antes ou depois da letra A e que esteja abreviado, não teremos resultado com o script acima agora imagine que existem uma infinidade de caracteres para tratar. Para casos complexos PATINDEX é ideal. Existem várias regras para tentar encontrar nomes abreviados mas nós dificilmente, a não ser que sejamos muito NERDs, conseguiremos pensar e codificar todas elas. Mas se você for um NERD, recomendo estudar CHARINDEX, PATINDEX e funções de manipulação de strings do sql server que podem ser utilizadas em conjunto com CHARINDEX e PATINDEX para criar regras mais complexas, veja algumas funções: http://bit.ly/1Rbip6r