2016-06-30 15 views
1

Ich habe bereits Daten aus einer Oracle 11g-Instanz als einfügen Anweisungen exportiert. Sie müssen in eine MySQL 5.5-Instanz gehen. Probleme mit der TIMESTAMP Konvertierung haben; Ich weiß, dass ich die Funktion TO_TIMESTAMP inline mit INSERT Anweisungen in MySQL verwenden kann; Ich bin mir jedoch nicht sicher, welche Flags zu verwenden sind. Im Folgenden sind in linearer Reihenfolge: die Oracle-Zeitstempel-Anweisung und mein Versuch einer MySQL-kompatiblen Anweisung. Offensichtlich funktioniert es nicht (MySQL gibt an, dass es einen Syntaxfehler gibt).Oracle zu MySQL Zeitstempel Konvertierung in MySQL Anweisung einfügen

Oracle:

TO_TIMESTAMP('12/22/2015 5:08:59.245837 PM','fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM') 

MySQL:

TO_TIMESTAMP('12/22/2015 5:08:59.245837 PM','%m/%d/%Y %h:%i:%s') 

Was soll ich über Flaggen für Mikrosekunden und AM/PM fehlt?

+0

Ich sehe keine 'TO_TIMESTAMP'-Funktion in MySQL 5.5-Dokumenten. Ich denke, du willst stattdessen etwas wie "STR_TO_DATE". – topshot

Antwort

0

angenommen, Sie exportieren von SQL Developer.

, bevor Sie die gesamten Daten exportieren, Ihre Datetime-Auswahlabfrage mit ändern:

TO_CHAR(COLUMN_NAME, 'YYYY-MM-DD HH24:MI:SS') as XXX 

es Datetime mit MySQL-Format produzieren. Wenn Sie also die Einfügeabfrage erhalten, können Sie direkt unter MySQL laufen.

0

FÜR MYSQL: STR_TO_DATE ('2/6/2015 5: 20: 43.000000 AM', '% c /% d /% Y% l: % i:% s.% f% p ')