次のようなステートメントを含む SQL Server データベースのスクリプトがあります。
INSERT SPECIAL_DAYS_TABLE (Date, Description) VALUES (CAST(0xB5330B00 AS Date), 'Christmas')
私の質問: どうすればこれを有効な MySQL 構文に変換できますか? キャスト部分は null の日付値を返します...
残念ながら、私は SQLServer データベースにアクセスできません。データを直接インポートすることは不可能です。スクリプトは、私が使用できる唯一のものです。
注: このようなステートメントは何百もあるため、MySQL または MySQL の外部 (C/Java/Matlab/VB) でキャスト部分をプログラムで変換する必要があります。
編集: 16 進数を varchar(datetime) にキャストする方法に従って、回答を閉じましたか? 以下のコメントのMartinによる修正
どうやら、0xB5330B00 は 0x000B33B5 (つまり、バイトを反転) = 734133 (0001-Jan-01 からの日数) として解釈されるべきです。
CAST('0001-01-01 00:00:00' + INTERVAL CAST(0x000B33B5 AS SIGNED) DAY as date) => 2010-12-28