有谁知道如何CAST(0x993902CE AS DATETIME)
从 SQL SERVER(smalldatetime
二进制格式)到 MYSQL?
我在 mysql 中尝试过CAST(0X993902CE AS DATETIME)
,但它应该返回 '2007-05-25 11:58:00' 时返回 NULL。
如果有人能告诉我这样做的方法,我将不胜感激。
有谁知道如何CAST(0x993902CE AS DATETIME)
从 SQL SERVER(smalldatetime
二进制格式)到 MYSQL?
我在 mysql 中尝试过CAST(0X993902CE AS DATETIME)
,但它应该返回 '2007-05-25 11:58:00' 时返回 NULL。
如果有人能告诉我这样做的方法,我将不胜感激。
遵循@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
您当然可以内联所有内容或将其放入函数中,这更像是概念证明。