MySQL获得2个日期的差异... 1个检索和1个硬编码

时间:2012-09-17 00:34:25

标签: mysql datediff

抱歉,我很难在一行中解释我的问题。

这是我在MySQL中的当前查询:

SELECT purch_id AS PURCH_ID, 
DATEDIFF(CURDATE(),(purch_date)) AS PURCH_DATE 
FROM CS260USER.candy_purchase;

举个例子,其中一个purch_date条目是10-28-2004 我真正想要得到的实际上是2012年(10月28日)和2012年圣诞节之间的差异。(是的,这是一个家庭作业,我对圣诞节那天并不感兴趣,但是教授是:P)

好的,我试图做的就是这样:

SELECT purch_id AS PURCH_ID, 
DATEDIFF('12-25-2012',(purch_date)) AS PURCH_DATE 
FROM CS260USER.candy_purchase;

但它不喜欢那样。

分配的全部内容是在'12 -25'部分进行编码,然后检索当前年份,这样如果您在2013年再次尝试这样做,那么它将适用于12-15-2013。

这有意义吗?需要检索表格中的数据,并找出当年的圣诞节和圣诞节之间的差异。

2 个答案:

答案 0 :(得分:0)

MySQL日期采用ISO格式:YYYY-MM-DD

如果您执行以下操作,那将是显而易见的:SELECT CURDATE();

答案 1 :(得分:0)

select datediff(concat(year(now()),'-12-25'), purchase_date)