Warunek, aby baza zwracała tylko te rekordy gdzie daty są z aktualnego miesiąca

0

Witam, potrzebuję zapytać moją bazę o to ,aby pokazał mi wiersze z aktualnego miesiąca.

select * from prequest p

i teraz warunek

where p.data_umowy=aktualny miesiąc 

próbowałem MONTH(NOW), ale to niepoprawne rozwiązanie znalezione w necie

0

W jakim formacie masz date? Może to timestamp?

0

title

Dregorio napisał(a):

W jakim formacie masz date? Może to timestamp?

1
select * from prequest p where MONTH(p.data_umowy) = MONTH(NOW());
0

Jaka baza?

0

Dla SQL Server:

select * from prequest p where MONTH(p.data_umowy) = MONTH(GETDATE());

Ps. Dodał bym sprawdzanie roku jeszcze bo w innym wypadku zamówienia z Listopada 2018 roku (i wcześniejszych) także będą wyświetlone.

0

Można zrobić jakąś faktoryzację, która wyliczy zakres dat i mieć zapytanie w stylu:

with period as (
select
  cast(getdate()-day(getdate())+1 as date) start_date,
  getdate() as end_date
)
select * from prequest r, period p where r.data_umowy BETWEEN p.start_date and p.end_date;

Nie wiem czy mogą być requesty z przyszłości w danym miesiącu, więc może być potrzeba modyfikacji wyliczania end_date.

1 użytkowników online, w tym zalogowanych: 0, gości: 1