Pesquisar dados dentro de um campo tipo text e migrar de uma tabela para outra usando insert, update com subselect
MySQL, SQL View Comments Marcelo KorjenioskiCria as tabelas.
create table tb_comentario ( pk_comentario int not null auto_increment primary key, tx_comentario text ) create table tb_data_comentario ( pk_data_comentario int not null auto_increment primary key, dt_comentario date )
Faz o insert dos dados para teste.
insert into tb_comentario (tx_comentario)
values
('Tutorial de procura e migração de dados no MySql DATA=20090515 (YYYYMMDD)'),
('Tutorial de procura e migração de dados no MySql DATA=20090516 (YYYYMMDD)'),
('Tutorial de procura e migração de dados no MySql DATA=20090517 (YYYYMMDD)')
Verifica se tabela recebeu os dados do insert.
select * from tb_comentario WHERE tx_comentario is not null
Pesquisar dados dentro de um campo tipo text para pegar somente a data.
SELECT DATE(CONCAT(SUBSTRING(tx_comentario,INSTR(tx_comentario, 'DATA=') +5,4) , "-" , SUBSTRING(tx_comentario,INSTR(tx_comentario, 'DATA=') +9,2) , "-" , SUBSTRING(tx_comentario,INSTR(tx_comentario, 'DATA=') +11,2))) FROM tb_comentario WHERE tx_comentario is not null
Faz o Insert dos dados da tabela tb_comentario para tb_data_comentario.
INSERT INTO tb_data_comentario (pk_data_comentario,dt_comentario) SELECT pk_comentario , DATE(CONCAT(SUBSTRING(tx_comentario,INSTR(tx_comentario, 'DATA=') +5,4) , "-" , SUBSTRING(tx_comentario,INSTR(tx_comentario, 'DATA=') +9,2) , "-" , SUBSTRING(tx_comentario,INSTR(tx_comentario, 'DATA=') +11,2))) as date FROM tb_comentario WHERE tx_comentario is not null
Faz o Update dos dados da tabela tb_comentario.
UPDATE tb_data_comentario SET dt_comentario = (SELECT DATE(CONCAT(SUBSTRING(tx_comentario,INSTR(tx_comentario, 'DATA=') +5,4) , "-" , SUBSTRING(tx_comentario,INSTR(tx_comentario, 'DATA=') +9,2) , "-" , SUBSTRING(tx_comentario,INSTR(tx_comentario, 'DATA=') +11,2))) + INTERVAL 3 DAY as date FROM tb_comentario WHERE tx_comentario is not null and pk_data_comentario = pk_comentario )
Verifica se os dados foram atualizados.
select * from tb_data_comentario
Caso tenha alguma duvida deixe um comentário que terei prazer em ajudar.
Comentários são bem vindos assim posso melhorar a qualidade dos tutoriais aqui apresentados.

Comentários Recentes