首页 > 解决方案 > 为什么我的 SQL Month 查询没有返回任何结果?

问题描述

我不太擅长 SQL,所以我想我会来这里。我显然已经做过研究,但我正在努力找出我在这里做错了什么!

所以,这是我的查询:

SELECT HOUSE, AMOUNT
FROM housepoints 
WHERE MONTH(TIMESTAMP) = MONTH(03) + AND YEAR(TIMESTAMP) = YEAR(2020)

我正在尝试从当前月份创建的表中选择列,因此我要检查月份和年份是否匹配。

我的数据:

TIMESTAMP: 2020-03-14

但是声明没有返回任何东西!我很困惑,因为月份和年份匹配,但我怀疑我只是在查询中做错了我不明白的事情。

有任何想法吗?

标签: javasql

解决方案


假设您使用 MySql,您必须CURRENT_DATE在函数中使用和作为YEAR()参数MONTH()

SELECT HOUSE, AMOUNT 
FROM housepoints 
WHERE MONTH(TIMESTAMP) = MONTH(CURRENT_DATE) AND YEAR(TIMESTAMP) = YEAR(CURRENT_DATE)

如果您使用的是 SQL Server,则替换CURRENT_DATEGETDATE()


推荐阅读