我有一个问题,希望有人可以帮助。
我的表格 (table1)
中有一个字段 (date)
,格式为 3/31/1988 (M/D/y)
,我需要计算从那个日期到现在过了多少天。
我尝试过给出以下指令:
SELECT DATEDIFF(CURDATE(), date) AS days
FROM table1
但它返回了“null”,我认为这是因为两个日期格式不同(CURDATE() 是 YMD.....
这正确吗?有人可以帮帮我吗? 提前致谢。
SELECT DATEDIFF(CURDATE(), DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(`date`)), '%Y-%m-%d')) AS days FROM `table1`
你的DATE
字段应该使用DATE
或DATETIME
格式,以便正确地用作DATEDIFF
参数。
另外,DATE
是MySQL关键字,我不确定你是否可以将其用作有效的字段名。
如果您想考虑没有“-”符号的结果,那么您必须按照以下参数位置:
SELECT DATEDIFF(Big_Date,Small_Date) AS days FROM table1.
正数结果例如5(没有符号),如果您将小日期作为第一个参数,则会得到负号结果,例如-5。