1
resposta

Como dividir um dado em partes determinadas?

Boa noite.

Preciso trasferir o dado a seguir para seus respequitivos lugares, serial, ordem e material em mysql.

segue o dado recebido: 017894171148066 211074257318 10 911124718795 24010194176, sendo que esses valores de serial, ordem e material já estão no dado.

Por exemplo:

serial:1074257318

ordem:1124718795

material:10194176

recebo os dados somente da forma que citei pois é lido uma etiqueta com todas as informações do produto. e preciso trasferir essas informações para o banco de dados com mysql ou outra forma. Não tenho ideia de como posso trasformar e enviar esses dados corretamente para o banco de dados. terial alguma forma ?

1 resposta

Oi, Alexandre, tudo bem?

Desculpe a demora em te responder!

Podemos usar a função SUBSTRINGpara realizar a divisão dos dados. Esse comando é responsável seleciona uma parte da string, conforme a posição inicial e o tamanho da substring. Especificamente no seu caso, como os valores de serial, ordem e material, já aparecem no dado recebido, vamos apenas inseri-los nas respectivas colunas da tabela de banco de dados através do exemplo abaixo:

INSERT INTO tabela (serial, ordem, material) VALUES 
(SUBSTRING('017894171148066', 6, 10), SUBSTRING('911124718795', 1, 10), SUBSTRING('24010194176', 1, 8));

No caso acima,o primeiro parâmetro da função indica a string a ser selecionada, o segundo parâmetro indica a posição inicial da substring e o terceiro parâmetro indica o tamanho da substring.

Todavia, vale ressaltar que como é um assunto externo aos cursos da Alura e que não tenho acesso ao cenário completo do projeto outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!