Tanya jadual SQL untuk tarikh yang bermula/berakhir dalam julat dan tarikh yang termasuk dalam julat tetapi bermula sebelum/selepas julat
P粉147747637
P粉147747637 2023-07-21 10:17:02
0
1
662

Gambaran keseluruhan:

Saya mempunyai jadual pangkalan data SQL di mana setiap baris (acara) mengandungi tarikh mula dan tamat yang diformatkan sebagai cap waktu.

Matlamat:

Menunjukkan acara untuk minggu tertentu, ini termasuk acara yang bermula dan berakhir dalam minggu itu, tetapi mungkin juga berlaku dalam minggu itu (tarikh mula/tamatnya mungkin dalam minggu itu, atau ia mungkin bermula dan berakhir sebelum minggu itu berakhir selepas minggu itu). Contoh hasil yang dijangkakan:

  • Untuk minggu tertentu dari 16 Julai hingga 22 Julai, keputusan akan merangkumi acara berikut:
    • Acara bermula dan berakhir pada 16 Julai, 19 Julai atau 22 Julai.
    • Acara bermula pada 10 Julai dan berakhir pada 19 Julai.
    • Acara bermula pada 19 Julai dan berakhir pada 26 Julai.
    • Acara bermula pada 4 Julai dan berakhir pada 30 Julai.

Saya telah mencuba menggunakan pertanyaan ANTARA dan pertanyaan menggunakan mula > {$week_start} DAN tamat {$week_end}, tetapi kedua-dua kaedah gagal mengambil kira tarikh "bertindih".

Soalan: Adakah mungkin untuk menulis satu pertanyaan yang merangkumi semua kes ini?

BTW, jika ada penyelesaian yang lebih baik, saya ok dengan menggunakan format tarikh selain daripada cap waktu.

P粉147747637
P粉147747637

membalas semua(1)
P粉222320176

Logik yang anda cari ialah:

mula <= {$week_end} DAN tamat >= {$week_start}

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan