Senior
SQL užduotis 3: Išveskite užduočių sąrašą, su kuriomis dirbote 2025 m. rugpjūčio mėnesį (pradėtos arba vykdytos rugpjūčio mėnesį)
sobes.tech AI
Atsakymas iš AI
Norėdami gauti užduočių, kuriomis dirbta 2025 m. rugpjūčio mėn. (t. y. užduočių, kurios pradėtos rugpjūtį arba buvo vykdomos šiuo laikotarpiu), sąrašą, turite patikrinti darbo laikotarpio ir 2025 m. rugpjūčio susikirtimą.
Tarkime, turime lentelę tasks su laukais task_id, start_date ir end_date (kur end_date gali būti NULL, jei užduotis dar nebaigta).
SQL užklausos pavyzdys:
SELECT *
FROM tasks
WHERE
-- Užduotis pradėta 2025 m. rugpjūčio mėn.
(start_date >= '2025-08-01' AND start_date < '2025-09-01')
OR
-- Užduotis pradėta anksčiau, bet vykdyta rugpjūtį (end_date >= '2025-08-01')
(start_date < '2025-08-01' AND (end_date IS NULL OR end_date >= '2025-08-01'))
;
Šis užklausas parenka užduotis, kurių darbo laikotarpis sutampa su 2025 m. rugpjūčio mėn. Jei end_date nėra, laikoma, kad užduotis vis dar vyksta.