2012-10-24 54 views
2

有誰知道如何從SQL SERVER(smalldatetime binary formatCAST(0x993902CE AS DATETIME)到MYSQL?CAST(0x993902CE AS DATETIME)從SQL SERVER到MYSQL

我在mysql中嘗試了CAST(0X993902CE AS DATETIME),但當它返回'2007-05-25 11:58:00'時它返回NULL。

如果有人能告訴我一個辦法做到這一點,我會很感激。

+0

如果我沒有弄錯,0x993902CE是UNIX時間戳嗎?改爲嘗試'FROM_UNIXTIME(0x993902CE)'。我目前無法測試,因此我不會將其作爲答案提交。 –

+0

你是否試圖在mysql端進行轉換? – hsanders

+0

@VincentSavard如何在MYSQL語法中使用FROM_UNIXTIME(0x993902CE)? – oletob

回答

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

可以ofcourse在線一切,或把它變成一個功能,這更是一個證明概念。