2012-04-16 84 views
0

請幫我闖過這一點:鑄造日期爲int

在MySQL中,爲什麼這項工作:

CAST(FROM_UNIXTIME(`STG_users`.`lastlogindate`/1000,'%Y%m%d') AS UNSIGNED) 

(其中STG_users.lastlogindateBIGINT

時不:

CAST(DATE_FORMAT(`Login_Activity_Temp`.`timestamp`,'%Y%m%d') AS UNSIGNED) 

(其中Login_Activity_Temp.timestampDATETIME

我需要最後一個(或類似的)工作。

---更新---

我工作!!! (感謝所有)

+0

你想完成什麼? – Cfreak 2012-04-16 16:22:24

+0

你是什麼意思它「不起作用」?你能告訴我們明確的數據,你得到了什麼結果,以及你期望看到什麼? – pilcrow 2012-04-16 16:24:51

+0

感謝pilcrow,在另一個工具(MySQL Workbench)中重寫了查詢,它讓它貫穿始終!現在它在原始工具(Talend) – Geuder 2012-04-16 16:42:43

回答

0

DATE_FORMAT返回格式化爲一個字符串的日期..

CAST(Login_Activity_Temp.timestamp爲unsigned)

應該這樣做,無需轉換成字符串。

+0

FROM_UNIXTIME中解決錯誤,因爲OP正在使用它,同時返回一個字符串。別的東西是不對的。 – pilcrow 2012-04-16 16:30:16

+0

不錯!除了我只需要這個日期,並不包括時間。作爲這個的延伸,我需要爲時間做同樣的事情。 date(int)= 20120416 time(int)= 1734 – Geuder 2012-04-16 16:34:54