Tipo campo MUL
11/04/2016
0
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
Posts
12/04/2016
Jothaz
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 .
12/04/2016
Jose Medeiros
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
12/04/2016
Jothaz
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.
12/04/2016
Fabiano Carvalho
SELECT SUBSTRING_INDEX(telefone,' ',1) From Tabela
12/04/2016
Jose Medeiros
valeu amigo, deu certo.
obrigado aos colegas pela força.
Clique aqui para fazer login e interagir na Comunidade :)