sql >> Databáze >  >> RDS >> Mysql

Příklady DAYOFMONTH() – MySQL

Můžete použít DAYOFMONTH() funkci v MySQL vrátit den v měsíci z data.

„Dnem v měsíci“ mám na mysli hodnotu mezi 1 a 31 (nebo 0 pro data s nulovou částí dne), na rozdíl od dne v týdnu, jako je pondělí atd.

Pokud například zadáte datum 2018-01-07 , DAYOFMONTH() funkce vrátí 7 .

Syntaxe

Syntaxe vypadá takto:

DAYOFMONTH(date)

Kde date je hodnota data, ze které chcete vrátit den v měsíci.

Příklad

Zde je příklad k demonstraci.

SELECT DAYOFMONTH('2020-06-18') AS 'Result';

Výsledek:

+--------+
| Result |
+--------+
|     18 |
+--------+

Pokud má část dne úvodní nulu, úvodní nula je z výsledku vynechána. Příklad:

SELECT DAYOFMONTH('2020-06-07') AS 'Result';

Výsledek:

+--------+
| Result |
+--------+
|      7 |
+--------+

Příklad databáze

Zde je příklad extrahování části dne ze sloupce při spuštění dotazu na databázi.

USE sakila;
SELECT
  payment_date AS 'Date/Time',
  DAYOFMONTH(payment_date) AS 'Day of Month'
FROM payment
WHERE payment_id = 1;

Výsledek:

+---------------------+--------------+
| Date/Time           | Day of Month |
+---------------------+--------------+
| 2005-05-25 11:30:37 |           25 |
+---------------------+--------------+

Aktuální datum/čas

Zde je příklad extrahování části dne z aktuálního data a času (který je vrácen pomocí NOW() funkce).

SELECT 
    NOW(),
    DAYOFMONTH(NOW());

Výsledek:

+---------------------+-------------------+
| NOW()               | DAYOFMONTH(NOW()) |
+---------------------+-------------------+
| 2018-06-25 18:16:00 |                25 |
+---------------------+-------------------+

Dalším způsobem, jak toho dosáhnout, je použít CURDATE() funkce, která vrací pouze datum (ale ne čas).

SELECT 
    CURDATE(),
    DAYOFMONTH(CURDATE());    

Výsledek:

+------------+-----------------------+
| CURDATE()  | DAYOFMONTH(CURDATE()) |
+------------+-----------------------+
| 2018-06-25 |                    25 |
+------------+-----------------------+


  1. Klauzule SQL mezi se sloupci řetězců

  2. Aktivní relace a stav SQL serveru

  3. Existuje typ časového razítka automatické úpravy pro sloupce Oracle?

  4. Volitelný argument ve funkci PL/pgSQL