Tipo campo MUL

11/04/2016

0

boa noite,

tenho um banco de dados no mysql, e nesse banco tenho uma tabela cliente que tem um campo telefone do tipo:

campo collation null key default
-----------------------------------------------------------------------------------------
telefone char(30) latin1_swedish_ci NO MUL L3



quando faço uma consulta nessa tabela, no campo telefone tenho esse retorno:

31381766985 0 0

ou algum outro valor onde estão os 0.


sera que esse MUL serve para poder preencher outros valores no mesmo campo? se sim como faço para retornar somente o que me interessa?


alguém pode me ajudar?


grato.
Jose Medeiros

Jose Medeiros

Responder

Posts

12/04/2016

Jothaz

O MySQL possibilita criar campos multivalorados (MUL), que nada mais é que um campo que aceita mais de um valor ou linha. Então neste caso você pode-se gravar vários telefone neste campo,

Antigamente nos bancos de dados hierárquicos era usual esta prática, mas com banco relacionais não é um boa prática.
O mais indicado é normalizar e criar um tabela com os telefones, pois assim sua base poderá ser usada e migrada sem problemas, pois nem todo os SGBD aceitam multivalorado .
Responder

12/04/2016

Jose Medeiros

Boa tarde.

Obrigado pela explicação, como esse banco é de um sistema onde preciso buscar alguns registros. Como faço num select num campo desse tipo buscar somente um valor exemplo.
No campo telefone char (30) MIL tenho esse valor
381790099 0 0
Como faço num select trazer somente o telefone?



Grato
Responder

12/04/2016

Jothaz

Este é um problema de usar multivalorados, recuperar as informações.

Tem uns 20 anos que não uso campos multivalorados. E nunca usei no MySQL, pois acho uma péssima prática, justamente por problema como este.

Então sinceramente não sei como recuperar somente o valor preenchido sem o 0 0 em um select. Acho que terá de ser feito na aplicação.

Mas pesquise "como selecionar valores em campo multivalorado" ou vamos aguardar alguém que possa ajudá-lo.
Responder

12/04/2016

Fabiano Carvalho

Teste Isso
SELECT SUBSTRING_INDEX(telefone,' ',1)
From Tabela
Responder

12/04/2016

Jose Medeiros

boa noite,


valeu amigo, deu certo.

obrigado aos colegas pela força.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar