我有一个查询从数据库中提取正确的数据,但它不会从时间戳返回给我一个月。在timestamp列中,我得到一个空值,即使时间戳存在。 它作为一个bigInt存储在DB中(这不是我的想法)。
我需要的是这样的日期:
Course | fcpd | Month
216 0.5 04
但我明白了:
Course | fcpd | Month
216 0.5 null
SELECT mdl_quiz.course, mdl_quiz.fcpd, MONTH(mdl_quiz_grades.timemodified) as Month FROM mdl_quiz INNER JOIN mdl_quiz_grades ON mdl_quiz.course = mdl_quiz_grades.quiz WHERE mdl_quiz_grades.userid = 9428 AND mdl_quiz.course = 215
有人能指出我哪里出错吗?
答案 0 :(得分:10)
在应用MONTH()
功能之前,您需要先将时间戳转换回日期。
MONTH(mdl_quiz_grades.timemodified)
变为
MONTH(FROM_UNIXTIME(mdl_quiz_grades.timemodified))
详细了解here。
作为旁注,int
足以用于时间戳,bigint
不是必需的。时间戳是一个32位数字,这就是为什么它可以保持2038年1月19日的最长日期。
答案 1 :(得分:-1)
"SELECT count(*) as records FROM sms WHERE MONTH(tarih)=MONTH(NOW()) and ceptel='"&ceptel&"'"