FILTRAR REGISTROS QUE NAO COMECAM COM LETRAS

ANDRE.ADMVB 17/07/2010 14:46:29
#347648
Olá pessoal!

Estou começando a mexer agora com o SQL SERVER 2005, e tenho dúvidas de como fazer a seguinte seleção na base, de forma rápida e otimizada:
Selecionar todos os CONTATOS onde o NOME não se inicie com letras (ex: A, B, C, ...)

Sei que teria como montar um SQL [Ô]gigante[Ô] que fizesse o filtro usando o LIKE, por exemplo:

SELECT *
FROM contatos
WHERE nome not like [ô]A%[ô]
AND nome not like [ô]B%[ô]
AND nome not like [ô]C%[ô]
(...)


Mas não existe nenhuma outra forma de se utilizar algum comando no SQL para filtrar esses dados?
Como se fosse um MATCH?

Obrigado!
LLAIA 17/07/2010 16:57:07
#347652
Vc precisa de uma função que retorno o código ASCII do caractere no SQL Server, e colocar uma condição onde o primeiro caractere não seja na tabela ASCII entre 48 e 57.

Ficaria feliz em montar pra vc uma query mas nõ saco de SQL Server.
TECLA 17/07/2010 18:37:22
#347654
Resposta escolhida
Veja se funciona:

SELECT * 
FROM tabela1
WHERE nome NOT LIKE [ô][A-Z]%[ô]

ou
SELECT * 
FROM tabela1
WHERE nome NOT LIKE [ô][A-Z]*[ô]
ANDRE.ADMVB 17/07/2010 19:51:49
#347657
TECLA,

A primeira opção funcionou perfeitamente!
Era isso mesmo que eu procurava.

Muito obrigado.
Tópico encerrado , respostas não são mais permitidas