Извлечение записей из SQL на основе названия месяца - PullRequest
0 голосов
/ 10 сентября 2018

enter image description here Так что это моя структура таблицы и данных.

Теперь я хочу отфильтровать данные на основе столбца Месяц по ExpenseDate. Так как я могу этого достичь? Я пытался

select * from tblExpenses, где (ExpenseDate = MONTH ('April'))

Но выдает ошибку: «Преобразование не удалось при преобразовании даты и / или времени из символьной строки». Пожалуйста помоги. Спасибо.

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Я думаю, что ваше положение where только что перевернуто. Я думаю, вы хотите это (и измените слово на число)

select * from tblExpenses where Month(ExpenseDate) = 4
0 голосов
/ 10 сентября 2018

Вы ставите month() не на тот столбец.Он может применяться к ExpensesDate:

select *
from tblExpenses
where month(ExpenseDate) = 4;

Обратите внимание, что month() возвращает число, а не название месяца.

Я думаю, что более вероятно, что вы хотите записис определенного апреля , а не каждого апреля.Это будет выражаться как:

where ExpenseDate >= '2018-04-01' and ExpenseDate < '2018-05-01'
...