SQL:使用动态日期获取行

时间:2018-06-15 09:59:41

标签: mysql

首先让我先说我是少年,所以如果这是一个非常愚蠢的问题或不可能,我会道歉。

我在SQL脚本中有一个WHERE子句,如果日期晚于特定日期,则会获取行。像这样:

WHERE 
    u.created > UNIX_TIMESTAMP('2018-04-01')

将始终相同,但每年需要更改当年的年份。因此,明年4月我将不得不对代码进行更改:

WHERE 
    u.created > UNIX_TIMESTAMP('2019-04-01')

我想知道是否可以将年度更新到当前年份如果那么日期和月份已过去 4月1日

1 个答案:

答案 0 :(得分:1)

一种选择是使用DATE_FORMAT NOW()函数作为当前年份的来源:

WHERE
    u.created > UNIX_TIMESTAMP(DATE_FORMAT(NOW() ,'%Y-04-01'))

Demo