sql >> Databáze >  >> RDS >> SQLite

Získejte první pondělí v měsíci v SQLite

DATE() SQLite Funkce nám poskytuje možnost vrátit datum první instance daného dne v daném měsíci. Můžeme jej tedy použít pro vrácení prvního pondělí daného měsíce. Můžeme jej použít i pro vrácení prvního úterý, středy, čtvrtka, pátku atd.

Můžeme použít DATETIME() pokud chceme, aby byla vrácena hodnota datetime.

Příklad

SELECT DATE('2025-10-20', 'start of month', 'weekday 1');

Výsledek:

2025-10-06

V tomto případě první pondělí daného měsíce připadá na 2025-10-06.

start of month a weekday 1 modifikátory upravují datum uvedené u prvního argumentu. Neděle je 0, pondělí je 1, úterý je 2 a tak dále. Proto používáme hodnotu weekday 1 vyberte pondělí.

První pondělí aktuálního měsíce

Tento příklad vás provede procesem s použitím aktuálního data:

SELECT 
    DATE('now') AS "Now",
    DATE('now', 'start of month') AS "Start of Month",
    DATE('now', 'start of month', 'weekday 1') AS "First Monday";

Výsledek:

Now         Start of Month  First Monday
----------  --------------  ------------
2022-03-09  2022-03-01      2022-03-07  

Tento příklad nám ukazuje datum v každé fázi jeho úpravy. Používáme now vrátíte aktuální datum a poté start of month přesunout zpět na začátek měsíce, pak weekday 1 přesunout datum dopředu na první pondělí.

DATETIME() Funkce

Můžeme také použít DATETIME() funkce dělat to samé. Rozdíl je v tom, že zahrnuje časovou část:

SELECT DATETIME('2025-10-20', 'start of month', 'weekday 1');

Výsledek:

2025-10-06 00:00:00

  1. Kvíz o výkonu a ladění Oracle

  2. Řešení úniku prostředků GDI

  3. Automatický sběr dat změn databázového schématu na MS SQL Server

  4. ORA-01882:Oblast časového pásma nenalezena