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

Získejte první pondělí v roce v SQLite

Můžeme použít DATE() SQLite funkce vrátit datum první instance daného dne daného roku. Můžeme jím tedy vrátit první pondělí daného roku. 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 year', 'weekday 1');

Výsledek:

2025-01-06

V tomto případě první pondělí daného roku připadá na 2025-01-06.

start of year 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 roku

Zde je příklad, který vás provede procesem s použitím aktuálního data:

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

Výsledek:

Now         Start of Year  First Monday
----------  -------------  ------------
2022-03-09  2022-01-01     2022-01-03  

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 year přesunout zpět na začátek roku, 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 year', 'weekday 1');

Výsledek:

2025-01-06 00:00:00

  1. Vytvořit zobrazení SQLite

  2. Storage Engine Volba:Aria

  3. 2 způsoby, jak vrátit řádky, které obsahují pouze alfanumerické znaky v PostgreSQL

  4. Nejlepší řešení DBaaS pro MySQL