我只想选择某个月份和日期(12/25),但不关心年份。我试过这个
WHERE DAY(date) = 25 AND MONTH(date) = 12;
但这没有用。有什么办法只搜索月份和日期吗?该字段是没有时区的时间戳。
SQL 标准语法是:
where extract(day from date) = 25 and
extract(month from date) = 12
但是,大多数数据库都支持
day()
和 month()
函数。
这可能会解决您的问题。我使用 MySQL 进行了测试。
SELECT ... FROM Table t WHERE MONTH(name_column) = :month AND DAY(name_column) = :day
您还可以尝试 DATEPART,它提取日期的指定部分:
WHERE DATEPART(day, date) = 25 AND DATEPART(month, date) = 12