我一直在尝试从表中获取一个日期字段的查询,并且只显示日期超过一年的结果(相对于当前日期)。
我正在使用PHPMyAdmin进行这些查询。时间字段的数据类型是' date' (YYYY-MM-DD)。
到目前为止我的代码是
SELECT table1.time
FROM table1
WHERE table1.time > UNIX_TIMESTAMP(ADDDATE(NOW(),INTERVAL -52 WEEK))
但是查询返回表中的每一行,包括那些不到一年的行。
我尝试过像WHERE SELECT table1.time < Date_add((yy, -1, GetDate())
但这只会返回check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LIMIT 0, 25' at line 3
错误,我不明白。
非常感谢任何帮助。
答案 0 :(得分:0)
最简单的方法可能是使用date_sub
:
SELECT table1.time
FROM table1
WHERE DATE_SUB(CURRENT_DATE(), INTERVAL 1 YEAR) > table1.time
答案 1 :(得分:0)
你应该做CAST(... AS DATE)
而不是UNIX_TIMESTAMP(...)
;并且比较运算符应为<
。 table1.time >
在之后查找日期。
答案 2 :(得分:0)
最简单的方法是检查当前年份并将表格数据与当前年度数据进行比较。
SELECT table1.time FROM table1 WHERE YEAR(table1.time) = YEAR(CURDATE())