0

次のようなステートメントを含む 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
4

1 に答える 1