Mysql
 sql >> Baza danych >  >> RDS >> Mysql

DAYOFYEAR() Przykłady – MySQL

Uruchamiając zapytania w MySQL, możesz użyć DAYOFYEAR() funkcja zwracająca dzień roku od daty.

Ta funkcja przyjmuje jeden argument i zwraca wartość z przedziału 1 i 366 , w zależności od tego, który dzień roku reprezentuje część dnia argumentu.

Składnia

Składnia wygląda tak:

DAYOFYEAR(date)

Gdzie date to wartość daty, z której ma być zwracany dzień roku.

Przykład

Oto przykład do zademonstrowania.

SELECT 
    DAYOFYEAR('2019-01-01') AS 'Date 1',
    DAYOFYEAR('2019-12-31') AS 'Date 2';

Wynik:

+--------+--------+
| Date 1 | Date 2 |
+--------+--------+
|      1 |    365 |
+--------+--------+

W tym przykładzie, aby zademonstrować właściwy efekt, uruchamiam tę funkcję dwukrotnie w dwóch różnych terminach – jednej na początku roku, a drugiej pod koniec roku.

DAYOFYEAR() vs DAYOFMONTH()

Oto przykład pokazujący różnicę między DAYOFYEAR() i DAYOFMONTH() funkcje.

SET @date = '2019-10-03';
SELECT 
    @date,
    DAYOFMONTH(@date) AS 'Day of Month',
    DAYOFYEAR(@date) AS 'Day of Year';

Wynik:

+------------+--------------+-------------+
| @date      | Day of Month | Day of Year |
+------------+--------------+-------------+
| 2019-10-03 |            3 |         276 |
+------------+--------------+-------------+

DAYOFMONTH() funkcja zwraca wartość pomiędzy 1 i 31 (lub 0 dla dat z częścią dnia zerowego), która reprezentuje dzień miesiąca. Wraca do 1 na początku każdego miesiąca.

DAYOFYEAR() z drugiej strony, zwraca wartość z przedziału 1 i 366 . Wraca do 1 na początku każdego roku.

Przykład bazy danych

Oto przykład użycia DAYOFYEAR() podczas odpytywania bazy danych:

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

Wynik:

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

Aktualna data/godzina

Oto przykład wyodrębnienia części dnia z bieżącej daty i godziny (która jest zwracana za pomocą funkcji NOW() funkcja).

SELECT 
    NOW(),
    DAYOFYEAR(NOW());

Wynik:

+---------------------+------------------+
| NOW()               | DAYOFYEAR(NOW()) |
+---------------------+------------------+
| 2018-06-26 08:23:04 |              177 |
+---------------------+------------------+

Innym sposobem na to jest użycie CURDATE() funkcja, która zwraca tylko datę (ale nie godzinę).

SELECT 
    CURDATE(),
    DAYOFYEAR(CURDATE()); 

Wynik:

+------------+----------------------+
| CURDATE()  | DAYOFYEAR(CURDATE()) |
+------------+----------------------+
| 2018-06-26 |                  177 |
+------------+----------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zapisać i pobrać obraz na moim serwerze w aplikacji internetowej java

  2. WEEKOFYEAR() Przykłady – MySQL

  3. JSON_CONTAINS() Przykłady w MySQL

  4. Błąd przygotowanej instrukcji mysql:MySQLSyntaxErrorException

  5. podwójne wyniki w mojej tablicy ( mysql_fetch_array )