Minha tarefa é exportar dados de um banco de dados com a instrução UNLOAD TO no dbaccess e convertê-los em um arquivo, que pode ser inserido em um banco de dados semelhante.
Agora, o problema:
O banco de dados antigo (vamos chamá-lo DB1) tem algumas datas nele armazenadas em minutos a partir de 01.01.1993. Então, por exemplo, 11.980.800 minutos seriam hoje. Agora preciso pegar esse valor e convertê-lo em uma data no formato %d.%m.%Y
, para que ele caiba na linha do novo banco de dados (DB2), que aceita apenas DATE como valor.
Os dados exportados do DB1 são separados por ^
. Eu tenho algumas declarações if
relevantes para outras linhas, mas eu simplesmente não consigo lidar com as linhas com o valor DATE como eu já escrevi. A declaração de impressão é assim:
print "INSERT INTO zdv_voa(voa_fnr, voa_kritkz, voa_krit, voa_kz, voa_datv, voa_datb, voa_grund) VALUES("$1",\'"$2"\',\'"$3"\',\'"$4"\',"$5","$6",\'"$7"\');"
em que $5
e $6
são os minutos que precisam ser convertidos em datas.
Depois de executar o script awk, preciso de um arquivo com:
INSERT INTO zdv_voa(voa_fnr, voa_kritkz, voa_krit, voa_kz, **voa_datv**, **voa_datb**, voa_grund) VALUES(1,'P','148','T','10.10.2015','02.07.1999','60');
As datas usadas aqui são apenas exemplos e os outros valores já foram convertidos por mim.