Das sieht wie das SQL Server datetime
-Format aus. Intern wird dies als 2 ganze Zahlen gespeichert, wobei die ersten 4 Bytes die Tage seit dem 1. Januar 1900 und die zweite die Anzahl der Ticks seit Mitternacht sind (jeder Tick ist 1/300 Sekunde).
Wenn Sie dies in MySQL verwenden müssen, können Sie dies tun
%Vor%Gibt
zurück %Vor%(Danke an Ted Hopp für die Lösung in Aufteilen der Binärdaten)
Ich füge nichts hinzu, was nicht angegeben wurde, aber ich habe dies verwendet, um aus dem obigen Code eine MySql-Funktion zu erstellen. Ich kann dann eine RegEx suchen und ersetzen (in Notepad ++), um die CAST (0xblahblahblah AS DATETIME) durch sp_ConvertSQLServerDate (0xblahblahblah) zu ersetzen.
%Vor%Hier ist ein Java-Programm, das ich gemacht habe.
Das Programm scannt die angegebene Datei (ändern Sie den Namen im folgenden Code) für
%Vor%und ersetzt sie durch ihre jeweiligen
%Vor%.
Wenn zum Beispiel SELECT CAST (0x00009CEF00A25634 as datetime)
2009-12-30 09:51:03.000
zurückgibt, scannt das Programm die Datei nach CAST(0x00009CEF00A25634 AS DateTime)
und ersetzt sie durch CAST('2009-12-30 09:51:03.000' AS DateTime)
.
Ich habe es verwendet, um ein von SQL Server generiertes Skript in etwas umzuwandeln, das eine eingebettete H2-Datenbank verstehen könnte.
Obwohl es für mich gut funktionierte, empfehle ich Ihnen, es zu überprüfen (einfach einige Testdaten laufen zu lassen und zu sehen), bevor Sie die tatsächlichen Daten verwenden.
%Vor%Mit notepad ++ regex ersetzen
%Vor%Dies ersetzt
%Vor%bis
%Vor%Für diejenigen, die eine Lösung in C # suchen. Zum Beispiel beim Lesen von Skriptdatenbankdaten.
%Vor%Hier habe ich Regex verwendet, da meine Eingabe in der folgenden Form ist "CAST (0x0000A53E00E1A17B AS DateTime)", aber Sie können SubString () oder was auch immer verwenden, um die DateTime-Zeichenfolge zu erhalten.
Tags und Links sql sql-server datetime mysql