Перейти к содержимому


Счета за текущий месяц


Сообщений в теме: 7

#1 oleg35rus

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 28 Декабрь 2013 - 14:10

На Заданий в базе знаний есть фильтр по текущему месяцу:
month(`Дата добавления`) = month(curdate()) and year(`Дата добавления`) = year(curdate())
Пробовал в разных комбинациях подогнать, не получается. Помогите пожалуйста по этому примеру сформировать фильтр по счетам по текущему месяцу, и желательно по предыдущему. Спасибо.

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 688 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 30 Декабрь 2013 - 08:58

Тут подгонять ничего не надо, просто заменяете имя поля на нужное вам. Например, если дата счета лежит в поле "Дата", будет month(`Дата`) = month(curdate()) and year(`Дата`) = year(curdate())

Для предыдущего месяца необходимо отнять месяц из текущей даты: month(`Дата`) = month(curdate() - interval 1 month) and year(`Дата`) = year(curdate() - interval 1 month)

#3 oleg35rus

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 30 Декабрь 2013 - 14:11

Огромное спасибо, всё оказалось проще, чем кажется!

#4 Oleg_

    Активный участник

  • Пользователи
  • PipPipPip
  • 118 сообщений

Отправлено 07 Январь 2014 - 20:21

а подскажите как фильтр
`Время добавления`>='2014-01-01 00:00:00' and `Время добавления`<'2014-02-01 00:00:00'
сделать так:
`Время добавления`>='текущий год-01-01 00:00:00' and `Время добавления`<'текущий год-02-01 00:00:00'


#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 688 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 09 Январь 2014 - 10:03

`Время добавления`>=concat(year(curdate()),'-01-01 00:00:00') and `Время добавления`< concat(year(curdate()),'-02-01 00:00:00')


#6 Oleg_

    Активный участник

  • Пользователи
  • PipPipPip
  • 118 сообщений

Отправлено 09 Январь 2014 - 23:27

спасибо

#7 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 04 Июнь 2014 - 09:52

А если месяц с 15 по 15 число-как можно коды поменять?
month(`Дата поступления`) = month(curdate()) and year(`Дата поступления`) = year(curdate())
month(`Дата`) = month(curdate() - interval 1 month) and year(`Дата`) = year(curdate() - interval 1 month)


#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 688 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 04 Июнь 2014 - 11:30

Ну вы и задали задачку, полчаса убил на нее. Там весьма громоздкое условие получается, более компактное не придумал:

(day(`Дата`) > 15 and month(`Дата`) = month(curdate() - interval 15 day) and year(`Дата`) = year(curdate() - interval 15 day)) or (day(`Дата`) =< 15 and month(`Дата`) = month(curdate() + interval day(curdate()+interval 1 month-interval day(curdate()) day)-15 day) and year(`Дата`) = year(curdate() + interval day(curdate()+interval 1 month-interval day(curdate()) day)-15 day))

Правда, сам не проверял еще вживую, надеюсь будет работать.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных