Usando comando Like

29/09/2004

Pessoal,

Tenho um campo em uma tabela que guarda o telefone de clientes. O telefone é um campo do tipo varchar2 e é guardado da seguinte forma: 254-6395, 254-2478, 455-4859...
Como posso montar uma consulta para pesquisar todos os clientes que tem o telefone que comece com 254 ou com 455 ou qualquer outro prefixo que será passado como parâmetro para a consulta, mas se houver algum telefone que no final possua a mesma combinação que no prefixo passado, não pode ser exibido no resultado da query. Ou seja, exibir somente os telefones que comecem com 455. Se houver um cliente com telefone que seja = a 452-2455, ele deverá ser ignorado.

SELECT *
FROM CLIENTES
WHERE FONE_CLIENTE LIKE ????

Consigo fazer isso com o Like ou há outro comando melhor?

Obrigada


Barbara.michele

Respostas

29/09/2004

Afarias

SELECT *
FROM CLIENTES
WHERE FONE_CLIENTE LIKE ´345¬´


ou


SELECT *
FROM CLIENTES
WHERE FONE_CLIENTE STARTING ´345´

(só não lembro se ORACLE (acho q é isso q está usando) suporta a sintaxe STARTING)


T+


Responder Citar

29/09/2004

Vinicius2k

Colega,

Instrução :
select 
  {lista de campos}
from 
  TABELA
where 
  CAMPO like :texto

Execução :
SuaQuery.Close;
SuaQuery.ParamByName(´texto´).AsString:= Texto + ´¬´;
SuaQuery.Open


o [b:6fbb80866e]¬[/b:6fbb80866e] é o caracter coringa que determina qual parte do campo ´não importa´... e ele pode variar dependendo do banco de dados...
Iniciado por -> Texto + [b:6fbb80866e]´¬´[/b:6fbb80866e]
Terminado por -> [b:6fbb80866e]´¬´[/b:6fbb80866e] + Texto
Qualquer parte -> [b:6fbb80866e]´¬´[/b:6fbb80866e] + Texto + [b:6fbb80866e]´¬´[/b:6fbb80866e]

T+


Responder Citar

30/09/2004

Paulo_amorim

Olá

Se seus prefixos têm sempre 3 números, pode-se fazer a seguinte query - estou supondo banco ORACLE, qualquer coisa substitua a função Substr pela adequada

SELECT * FROM fone_cliente
WHERE substr(fone,1,3) = :p1
  AND substr(fone,5,7) NOT LIKE ´¬´ || :p1 || ´¬´


Query1.ParamByName(´p1´).AsString := <seu parametro>


Espero que ajude
Até+


Responder Citar