SQL - 如何 select 过去 5 年的日期以包括最早年份的 1 月 1 日
SQL - How to select date from the past 5 years to include 1st of Jan of the oldest year
我正在尝试 select 过去 5 年(从第一年或最旧年份的 1 月 1 日开始)输入的数据。我构建了下面的查询,但它不是从最旧年份的 1 月 1 日开始的。
SELECT col_name FROM table_name WHERE entry_date > curdate() - interval (dayofmonth(curdate()) - 1) day - interval 5 year
如有任何帮助,我们将不胜感激。
您似乎在使用 MySQL。最简单的方法是:
SELECT col_name
FROM table_name
WHERE YEAR(entry_date) >= YEAR(curdate()) - 5;
请注意,YEAR()
的使用对索引不友好。但是,选择五年的数据可能不会从索引中受益。
我正在尝试 select 过去 5 年(从第一年或最旧年份的 1 月 1 日开始)输入的数据。我构建了下面的查询,但它不是从最旧年份的 1 月 1 日开始的。
SELECT col_name FROM table_name WHERE entry_date > curdate() - interval (dayofmonth(curdate()) - 1) day - interval 5 year
如有任何帮助,我们将不胜感激。
您似乎在使用 MySQL。最简单的方法是:
SELECT col_name
FROM table_name
WHERE YEAR(entry_date) >= YEAR(curdate()) - 5;
请注意,YEAR()
的使用对索引不友好。但是,选择五年的数据可能不会从索引中受益。