Convertire formato data da Oracle a MySql

May 18th 2011 by Paolo Bindi in: MySql | Tags: MySql

Per la migrazione da Oracle a MySql, le date, che sono in formato differente, occorre convertirle prima di eseguire l'insert nella relativa tabella.
Ho creato questa semplice funzione to_timestamp, che esiste gia' in Oracle, ma non in MySql.

delimiter $

CREATE FUNCTION  to_timestamp(entrada VARCHAR(40), formato varchar(50)) RETURNS varchar(40) CHARSET latin1
BEGIN
  DECLARE salida VARCHAR(40);
  SET salida = CONCAT(CONCAT_WS('-',CONCAT('20',SUBSTRING(entrada, 7, 2)),SUBSTRING(entrada, 4, 2),SUBSTRING(entrada, 1, 2)),' ',CONCAT_WS(':',SUBSTRING(entrada, 10, 2),SUBSTRING(entrada, 13, 2),SUBSTRING(entrada, 16, 2)));
  RETURN salida;
END$
delimiter ;

Nel caso che riscontrate qualche errore o se volete contattarmi per qualche consiglio o suggerimento, utilizzate la form della sezione contatti