MariaDB
 sql >> база данни >  >> RDS >> MariaDB

3 начина за разделяне на година, месец и ден от дата в MariaDB

MariaDB има няколко функции, които ви позволяват да извличате различни части за дата и час от стойности за дата/час. Можете да ги използвате, за да разделите всеки компонент за дата/час в отделна колона, ако е необходимо.

По-долу са дадени три начина за извличане на година, месец и ден от стойност на дата в MariaDB.

YEAR() , MONTH() и DAY() Функции

YEAR() , MONTH() и DAY() функциите извличат годината, месеца и деня съответно от стойност на дата или дата и час.

Ето пример за използване на тези функции за връщане на всеки компонент за дата в собствена колона:

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

Резултат:

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

DAY() функцията всъщност е синоним на DAYOFMONTH() , така че всеки от тях ще върне същия резултат.

Има и WEEKDAY() функция, DAYOFWEEK() функция, DAYOFYEAR() функция и DAYNAME() функция, всяка от които връща различно представяне на деня.

Освен това има MONTHNAME() функция, която връща името на месеца, вместо неговия номер.

Ето още един пример, който включва тези функции:

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";

Резултат (с помощта на вертикален изход):

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

Можете също да използвате функции като WEEK() за да върнете номера на седмицата и QUARTER() за да върнете тримесечието.

Пример:

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

Резултат:

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

WEEK() функцията приема втори аргумент, който ви позволява да посочите режима. Това може да промени получения номер на седмицата в зависимост от действителната дата. Вижте как WEEK() Работи в MariaDB за повече информация и пример.

EXTRACT() Функция

EXTRACT() функцията ви позволява да извлечете определена единица от стойността за дата/час. Следователно можете да го използвате за извличане на година, месец и ден от датата (както и седмица и тримесечие, ако е необходимо).

Пример:

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";

Резултат:

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

DATE_FORMAT() Функция

DATE_FORMAT() функцията ви позволява да форматирате стойност на дата или дата и час въз основа на низ за форматиране. Форматният низ указва как трябва да се форматира датата/часът.

Следователно можем да използваме тази функция, за да върнем годината, месеца, деня и седмицата от дадена дата.

Пример:

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";

Резултат:

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

Има няколко възможни спецификатора на формат за всяка част от датата. Всяка част от датата може да върне различна стойност в зависимост от предоставения действителен спецификатор на формат. Например, можете да върнете пълното име на месеца, като използвате %M вместо %m .

Вижте MariaDB Format Strings за пълен списък с низове/спецификатори на формат, които могат да се използват с DATE_FORMAT() .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи LENGTH() в MariaDB

  2. Обработване на проблеми с репликацията от не-GTID към GTID MariaDB клъстери от база данни

  3. Висока достъпност на базата данни за Camunda BPM с помощта на MySQL или MariaDB Galera Cluster

  4. ClusterControl:Въведение в новия монитор на заявки

  5. Изпълнение на ProxySQL като помощен контейнер на Kubernetes