sql >> Databáze >  >> RDS >> MariaDB

3 způsoby, jak oddělit rok, měsíc a den od data v MariaDB

MariaDB má několik funkcí, které vám umožňují extrahovat různé části data a času z hodnot data/času. V případě potřeby je můžete použít k oddělení každé složky data/času do vlastního sloupce.

Níže jsou uvedeny tři způsoby, jak extrahovat rok, měsíc a den z hodnoty data v MariaDB.

YEAR() , MONTH() a DAY() Funkce

YEAR() , MONTH() a DAY() funkce extrahují rok, měsíc a den z hodnoty data nebo data a času.

Zde je příklad použití těchto funkcí k vrácení každé složky data ve vlastním sloupci:

SELECT 
    YEAR('2025-08-30') AS "Year",
    MONTH('2025-08-30') AS "Month",
    DAY('2025-08-30') AS "Day";

Výsledek:

+------+-------+------+
| Year | Month | Day  |
+------+-------+------+
| 2025 |     8 |   30 |
+------+-------+------+

DAY() funkce je ve skutečnosti synonymem pro DAYOFMONTH() , takže kterýkoli z nich vrátí stejný výsledek.

Je zde také WEEKDAY() funkce DAYOFWEEK() funkce DAYOFYEAR() funkce a DAYNAME() funkce, z nichž každá vrací jinou reprezentaci dne.

Navíc je tu MONTHNAME() funkce, která vrací název měsíce namísto jeho čísla.

Zde je další příklad, který tyto funkce zahrnuje:

SELECT 
    YEAR('2025-08-30') AS "YEAR",
    MONTH('2025-08-30') AS "MONTH",
    MONTHNAME('2025-08-30') AS "MONTHNAME",
    DAY('2025-08-30') AS "DAY",
    DAYOFMONTH('2025-08-30') AS "DAYOFMONTH",
    WEEKDAY('2025-08-30') AS "WEEKDAY",
    DAYOFWEEK('2025-08-30') AS "DAYOFWEEK",
    DAYOFYEAR('2025-08-30') AS "DAYOFYEAR",
    DAYNAME('2025-08-30') AS "DAYNAME";

Výsledek (při použití vertikálního výstupu):

      YEAR: 2025
     MONTH: 8
 MONTHNAME: August
       DAY: 30
DAYOFMONTH: 30
   WEEKDAY: 5
 DAYOFWEEK: 7
 DAYOFYEAR: 242
   DAYNAME: Saturday

Můžete také použít funkce jako WEEK() vrátíte číslo týdne a QUARTER() vrátit čtvrtletí.

Příklad:

SELECT 
    WEEK('2025-08-30') AS "Week",
    QUARTER('2025-08-30') AS "Quarter";

Výsledek:

+------+---------+
| Week | Quarter |
+------+---------+
|   34 |       3 |
+------+---------+

WEEK() funkce přijímá druhý argument, který umožňuje určit režim. To může změnit výsledné číslo týdne v závislosti na aktuálním datu. Viz Jak WEEK() Pracuje v MariaDB pro více informací a příklad.

EXTRACT() Funkce

EXTRACT() Funkce umožňuje extrahovat zadanou jednotku z hodnoty data/času. Proto jej můžete použít k extrakci roku, měsíce a dne z data (a také týdne a čtvrtletí, pokud je to nutné).

Příklad:

SELECT 
    EXTRACT(YEAR FROM '2023-03-12') AS "Year",
    EXTRACT(MONTH FROM '2023-03-12') AS "Month",
    EXTRACT(DAY FROM '2023-03-12') AS "Day",
    EXTRACT(WEEK FROM '2023-03-12') AS "Week",
    EXTRACT(QUARTER FROM '2023-03-12') AS "Quarter";

Výsledek:

+------+-------+------+------+---------+
| Year | Month | Day  | Week | Quarter |
+------+-------+------+------+---------+
| 2023 |     3 |   12 |   11 |       1 |
+------+-------+------+------+---------+

DATE_FORMAT() Funkce

DATE_FORMAT() Funkce umožňuje formátovat hodnotu data nebo data a času na základě formátovacího řetězce. Formátovací řetězec určuje, jak má být formátován datum/čas.

Tuto funkci tedy můžeme použít k vrácení roku, měsíce, dne a týdne z data.

Příklad:

SELECT 
    DATE_FORMAT('2035-12-08', '%Y') AS "Year",
    DATE_FORMAT('2035-12-08', '%m') AS "Month",
    DATE_FORMAT('2035-12-08', '%d') AS "Day",
    DATE_FORMAT('2035-12-08', '%U') AS "Week";

Výsledek:

+------+-------+------+------+
| Year | Month | Day  | Week |
+------+-------+------+------+
| 2035 | 12    | 08   | 48   |
+------+-------+------+------+

Pro každou část data existuje několik možných specifikátorů formátu. Každá část data může vracet jinou hodnotu v závislosti na skutečném poskytnutém specifikátoru formátu. Například můžete vrátit celý název měsíce pomocí %M místo %m .

Úplný seznam formátovacích řetězců/specifikátorů, které lze použít s DATE_FORMAT(), najdete v části MariaDB Format Strings .


  1. Jak exportovat výsledek dotazu do csv v Oracle SQL Developer?

  2. Vrátit seznam e-mailů odeslaných z SQL Server Database Mail (T-SQL)

  3. Zjistěte, na jakém operačním systému běží SQL Server (příklad T-SQL)

  4. CHYBA:Nelze načíst knihovnu „/opt/PostgreSQL/9.0/lib/postgresql/plperl.so“:libperl.so: