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

DATEDIFF() Примери – MySQL

В MySQL можете да използвате DATEDIFF() функция за намиране на разликата между две дати. Начинът, по който работи, е, че предоставяте два аргумента (по един за всяка дата) и DATEDIFF() ще върне броя на дните между двете дати.

Примери по-долу.

Синтаксис

Първо, ето синтаксиса:

DATEDIFF(expr1,expr2)

Където expr1 е първата дата и expr2 е втората среща.

Пример 1 – Основна употреба

Ето пример за демонстрация.

SELECT DATEDIFF('2020-10-30', '2020-10-01') AS 'Result';

Резултат:

+--------+
| Result |
+--------+
|     29 |
+--------+

В този пример първата дата е по-късна от втората. В този случай получаваме положителна върната стойност.

Пример 2 – Сравнение с по-ранна дата

Първата дата не трябва да е по-късна от втората. Можете да използвате по-ранна дата за първия аргумент и той ще върне отрицателна стойност. Ако разменим тези два аргумента, получаваме следното:

SELECT DATEDIFF('2020-10-01', '2020-10-30') AS 'Result';

Резултат:

+--------+
| Result |
+--------+
|    -29 |
+--------+

Пример 3 – Стойности за дата и час

Когато се използва с datetime стойности, само частта за дата се използва за сравняване на датите. Пример:

SELECT 
  DATEDIFF('2020-10-30 23:59:59', '2020-10-01') AS 'Result 1',
  DATEDIFF('2020-10-01 23:59:59', '2020-10-30') AS 'Result 2';

Резултат:

+----------+----------+
| Result 1 | Result 2 |
+----------+----------+
|       29 |      -29 |
+----------+----------+

Пример 4 – Заявка към база данни

Ето пример за използване на DATEDIFF() в заявка за база данни. В този пример сравнявам payment_date колона с днешна дата (с помощта на CURDATE() функция за връщане на днешната дата):

USE sakila;
SELECT
  DATE(payment_date) AS 'Date/Time',
  CURDATE(),
  DATEDIFF(payment_date, CURDATE()) AS 'Date'
FROM payment
WHERE payment_id = 1;

Резултат:

+------------+------------+-------+
| Date/Time  | CURDATE()  | Date  |
+------------+------------+-------+
| 2005-05-25 | 2018-06-25 | -4779 |
+------------+------------+-------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да решим проблема с кодирането на символи в MySQL?

  2. Хибернация:Автоматично създаване/актуализиране на db таблиците въз основа на класове на обекти

  3. Как да получите данни за последния 1 час в MySQL

  4. Как да автоматизирате заявките за обобщена таблица в MySQL

  5. Опитвам се да получа свойство на необект - CodeIgniter