Oracle und Java spielen ziemlich gut miteinander, und das ist vielleicht eine neue Idee, wenn du dich ungünstig fühlst. Java macht das ziemlich einfach, aber ich bin von einer Orakel-Box entfernt und kann nicht testen. Das tut wirklich weh, ich bin im Moment nicht vor einer Orakelmaschine. Um sicherzugehen, dass ich mich richtig erinnerte, habe ich Schritte von hier aus benutzt Ссылка
und dann habe ich das gegoogelt, was fast wortwörtlich ist, was wir unten machen werden: Ссылка
%Vor%Speichern Sie diese Datei als Hex2Date.java im Verzeichnis 'yourJava' und geben Sie in einer cmd-Zeile in diesem Verzeichnis Folgendes ein:
javac Hex2Date.java
Geben Sie nun Folgendes ein:
java Hex2Date.java 0x4A273F
Wenn Sie die richtigen Daten und die Ergebnisse erhalten, sagen wir Orakel über unsere kleine Funktion. Sie benötigen zuerst einige Benutzerrechte: GRANT JAVAUSERPRIV an Ihren Benutzer hier; tippe dies ein: loadjava -user scott / tiger -resolve Hex2Date.class
wickle das nun in pl / sql um, damit du es in pl / sql aufrufen kannst:
%Vor%Führen Sie es jetzt von einer SQL-Eingabeaufforderung aus: SQL & gt; exec DBMS_OUTPUT.PUT_LINE (hex2Date ('0x4A273F'))
Ich nehme an, sie sind Unix-Daten? Ich nehme auch an, dass Sie mit SQL / PLSQL auf SQL Server und Oracle zugreifen können? Wenn meine Vermutungen beide richtig sind, würde ich die Konvertierungsfunktion von SQL Server verwenden:
Wählen Sie konvertieren (int, 0x4A273F)
Zusätzlich zu seiner Funktion zum Hinzufügen von Datumsangaben (ab dem 1. Januar 1970, fügen Sie Sekunden hinzu):
Wählen Sie dateadd (ss, {your_result}, '19700101')
Natürlich, wenn sie alle in CSV-Dateien sind, könnte ein Skript genauso gut funktionieren. Hast du mehr Informationen?
Wenn die 'HEX'-Werte von einem Mainframe stammen, dann sind sie vielleicht EBCDIC (Extended Binary Coded Decimal Interchange Code) und nicht HEX? Ich habe keine Zeit, es jetzt zu überdenken, aber versuche diese Seite für Ideen / Hinweise? Ссылка Natürlich kann ich den falschen Baum bellen:)
Nehmen Sie an, 50 34 2E ist der 27. April 2009
%Vor%