2013-01-18 46 views
-2

SIm新編碼,但我有一個MYSQL查詢返回所需的信息,除了它返回我的日期字段(d.timestart和d.timefinish)作爲unixtimestamps。 我知道我需要使用From Unixtime(),但我不知道如何插入它。MYSQL查詢將我的日期字段返回爲unixtimestamps。

這裏是我的代碼工作正常:)

SELECT g.quiz  AS'Quiz Number', 
     g.userid  AS'User Number', 
     g.grade  AS'Grade Percentage Achieved', 
     u.firstname AS' First Name', 
     u.lastname AS'Last Name', 
     c.name  AS'Assessment Name', 
     d.attempt AS'Number of Attempts', 
     d.state  AS'Assessment Progress', 
     d.timestart AS'Assessment Started', 
     d.timefinish AS'Assessment Finished' 
FROM mdl_quiz_grades g 
     JOIN mdl_user u 
     ON u.id = g.userid 
     JOIN mdl_quiz c 
     ON c.id = g.quiz 
     JOIN mdl_quiz_attempts d 
     ON d.id = g.userid 

感謝加里

回答

2

你會使用FROM_UNIXTIME

SELECT g.quiz      AS'Quiz Number', 
     g.userid     AS'User Number', 
     g.grade      AS'Grade Percentage Achieved', 
     u.firstname     AS' First Name', 
     u.lastname     AS'Last Name', 
     c.name      AS'Assessment Name', 
     d.attempt     AS'Number of Attempts', 
     d.state      AS'Assessment Progress', 
     From_unixtime(d.timestart) AS'Assessment Started', 
     From_unixtime(d.timefinish) AS'Assessment Finished' 
FROM mdl_quiz_grades g 
     JOIN mdl_user u 
     ON u.id = g.userid 
     JOIN mdl_quiz c 
     ON c.id = g.quiz 
     JOIN mdl_quiz_attempts d 
     ON d.id = g.userid 

如果您想格式化該日期,你會使用DATE_FORMAT和說明符將其格式從the documentation

DATE_FORMAT(FROM_UNIXTIME(d.timestart), '%b %d %Y %h:%i %p') AS ... 
+0

偉大的作品: )但我在哪裏把DATE_Format語句? –

+0

@GazYeah你可以像上面一樣圍繞'FROM_UNIXTIME'環繞它。 – Kermit

+0

明白了:)謝謝你真的提示幫助。 –

0

MySQL documentation中有例子。

SELECT g.quiz  AS'Quiz Number', 
     g.userid  AS'User Number', 
     g.grade  AS'Grade Percentage Achieved', 
     u.firstname AS' First Name', 
     u.lastname AS'Last Name', 
     c.name  AS'Assessment Name', 
     d.attempt AS'Number of Attempts', 
     d.state  AS'Assessment Progress', 
     FROM_UNIXTIME(d.timestart) AS'Assessment Started', 
     FROM_UNIXTIME(d.timefinish) AS'Assessment Finished' 
FROM mdl_quiz_grades g 
     JOIN mdl_user u 
     ON u.id = g.userid 
     JOIN mdl_quiz c 
     ON c.id = g.quiz 
     JOIN mdl_quiz_attempts d 
     ON d.id = g.userid 
+0

如何使用日期格式腳本? –

1

用於格式化UNIX時間戳,你可以嘗試

SELECT FROM_UNIXTIME(unix_timestamp, '%m/%d/%Y') FROM myTable; 

其中第二部分是格式字符串。

格式化任何類型的日期和時間,你可以嘗試DATE_FORMAT功能,如

SELECT DATE_FORMAT(date, '%m/%d/%Y') FROM myTable;

反正看看
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_from-unixtime

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

+0

由於該列是Unix時間戳,因此這不起作用。它需要首先使用'FROM_UNIXTIMESTAMP'進行轉換。隨時解決你的答案。 – Kermit

+0

確實如此,thx非常適合指出:) – tttthomasssss