Dúvida Função Copy no MySQL

14/03/2013

2

Bom dia,

Estou querendo fazer um select pra verificar se um número é fixo ou celular.

Ex:

Aqui o telefone fixo sempre começam com 35 ou 31, assim:

(xx) 3511-1234
(xx) 3111-1234

Quero pegar esses dois números e fazer a validação. No Delphi eu uso a Função Copy, como seria no MySQL ?

Grato.

Responder

Posts

14/03/2013

Syspan Ltda

Bom dia, a função no mysql e a MID() ou SUBSTRING()...
Exemplo de uso dela e Select MID('3511-1234',1,2)...
Um exemplo melhor utilizando a função MID() e o IF

SELECT IF(((MID('3511-1234',1,2)=35) OR (MID('3111-1234',1,2)=31)),'FONE','CELULAR');
Responder

14/03/2013

Vander Carlos

Tentei adaptar aqui mas não ta dando certo:

SELECT if(((MID(cadcliente.resp_cel,5, 6) = 35)
OR (MID(cadcliente.resp_cel,5, 6)= 31)),'Fixo','Celular') as Tipo,

cadcliente.cliente, cadcliente.reponsavel, cadcliente.resp_celular 

FROM cadcliente, cadmatricula 
where cadcliente.resp_celular <> ''   
and cadcliente.codcli = cadmatricula.codcli 
group by cadcliente.reponsavel;


Lookup Error - MySQL Database Error: Unknown column 'cadcliente.resp_cel' in 'field list'

Responder

14/03/2013

Joel Rodrigues

O nome do campo não é "resp_celular"?
Responder

15/03/2013

Vander Carlos

Nossa, não tava vendo isso. É resp_celular mesmo.

Só mais uma coisa.

SELECT if(((MID(cadcliente.resp_celular,5, 6) = 35)
OR (MID(cadcliente.resp_celular,5, 6)= 31)),'Fixo','Celular')


Esse parâmetro, 'Fixo', 'Celular'. Funciona como ?
Responder

15/03/2013

Joel Rodrigues

Você tem uma condição dentro do IF, que verifica se o telefone começa com 35 ou 31. Se a condição dentro do IF for verdadeira, então o campo será preenchido com o primeiro valor (Fixo), senão, será preenchido com o segundo (Celular).
A estrutura é a seguinte:
IF (condição, valor se verdadeiro, valor se falso)

Não sei se fui claro, então caso persista a dúvida, é só falar.a
Responder

16/03/2013

Vander Carlos

Muito obrigado Joel Rodrigues.

Abraços.
Responder

16/03/2013

Joel Rodrigues

Valeu, amigo. Que bom que sua dúvida foi sanada.
Estou marcando este tópico como Concluído.
Abraço.
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira