现在,我想根据ExpenseDate列中的Month过滤数据。 那么我该如何实现呢? 我正在尝试
从tblExpenses中选择*,其中(ExpenseDate = MONTH('April'))
但是它抛出一个错误:“从字符串转换日期和/或时间时转换失败。” 请帮忙。谢谢。
答案 0 :(得分:2)
您将month()
放在错误的列上。可以应用于ExpensesDate
:
select *
from tblExpenses
where month(ExpenseDate) = 4;
请注意,month()
返回一个数字,而不是月份的名称。
我认为您更可能希望从特定的 4月,而不是每年的 4月开始记录。表示为:
where ExpenseDate >= '2018-04-01' and ExpenseDate < '2018-05-01'
答案 1 :(得分:0)
我认为您的where子句刚刚被颠倒,我想您想要这个(并将单词更改为数字)
select * from tblExpenses where Month(ExpenseDate) = 4