SQL Server 2000 Como Instrução Usage

Eu tenho uma instrução SQL que se parece com:

SELECT [Phone]
FROM [Table]
WHERE
(
    [Phone] LIKE '[A-Z][a-z]'
    OR [Phone] = 'N/A'
    OR [Phone] LIKE '[0]'
)

A parte que estou tendo problemas é a declaração where com os "LIKEs". Eu vi instruções SQL em que os autores usaram instruções like da maneira que estou usando acima. No começo, pensei que isso fosse uma versão do Regular Expressions, mas aprendi desde então.

Alguém está familiarizado com o uso de instruções semelhantes de tal maneira. Nota: o "N/A" está funcionando bem.

O que preciso corresponder são números de telefone com caracteres. Ou números de telefone que contêm nada além de zero.

0
adicionado editado
Visualizações: 1

2 Respostas

Tente usar a função t-sql ISNUMERIC . Isso mostrará quais são/não são numéricos.

Você também pode precisar dos espaços TRIM ou REPLACE para obter o que deseja.

Por exemplo, para encontrar números de telefone válidos, substitua espaços por '', teste com ISNUMERIC e teste com LEN .

Embora eu o avise, isso será tedioso se você tiver que lidar com números de telefone internacionais.

A coisa a observar com o seu SQL acima, é que o SQL Server não entende o Regex.

0
adicionado
Obrigado pela sua resposta. Eu pensei em usar a função IsNumeric, mas se não me engano, essa função é buggy. Eu tenho que lidar com números de telefone internacionais e é por isso que eu não acho que essa solução é para mim. Muito obrigado!
adicionado o autor Frank V, fonte

Verifique aqui .

[] corresponde a um intervalo de caracteres.

Eu acho que você quer algo assim:

SELECT [Phone]
FROM [Table]
WHERE
(
    [Phone] LIKE '%[A-Z]%'
    OR [Phone] LIKE '%[a-z]%'
    OR [Phone] = 'N/A'
    OR [Phone] LIKE '0'
)
0
adicionado
Esqueceu o ponto-e-vírgula (nome de usuário incrível), obrigado. Esse link é exatamente o que eu precisava. Eu não consegui encontrá-lo em uma pesquisa no google. Seu exemplo também ajudou a perceber meu erro.
adicionado o autor Frank V, fonte
uau, não sabia que isso era possível
adicionado o autor Danimal, fonte