2

CAST(0x993902CE AS DATETIME)SQL SERVER (smalldatetimeバイナリ形式) から MYSQL への移行方法を知っている人はいますか?

mysqlで試してみCAST(0X993902CE AS DATETIME)ましたが、'2007-05-25 11:58:00' を返すべき時に NULL を返します。

誰かがこれを行う方法を教えてくれれば、私は感謝します。

4

1 に答える 1

6

コメントとソリューションでの @MartinSmith の以前の提案に従って、この単純なコードを書きました

SELECT "0x993902CE" INTO @raw_data;

SELECT conv(substr(@raw_data, 3, 4), 16, 10) INTO @days;
SELECT conv(substr(@raw_data, 7, 4), 16, 10) INTO @minutes;
SELECT "1900-01-01 00:00:00" INTO @start_date;
SELECT date_add(@start_date, interval @days DAY) INTO @date_plus_years;
SELECT date_add(@date_plus_years, interval @minutes MINUTE) INTO @final_date;

SELECT @final_date;

http://sqlfiddle.com/#!2/c960a​​/37

もちろん、すべてをインライン化するか、関数に入れることができます。これは、概念の証明です。

于 2012-10-24T18:52:07.803 に答える