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

Příklady DATEDIFF() – MySQL

V MySQL můžete použít DATEDIFF() funkce k nalezení rozdílu mezi dvěma daty. Funguje to tak, že zadáte dva argumenty (jeden pro každé datum) a DATEDIFF() vrátí počet dní mezi dvěma daty.

Příklady níže.

Syntaxe

Nejprve je zde syntaxe:

DATEDIFF(expr1,expr2)

Kde expr1 je první datum a expr2 je druhé rande.

Příklad 1 – Základní použití

Zde je příklad k demonstraci.

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

Výsledek:

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

V tomto příkladu je první datum pozdější než druhé datum. V tomto případě dostaneme kladnou návratovou hodnotu.

Příklad 2 – Porovnání s dřívějším datem

První rande nemusí být pozdější než druhé datum. Pro první argument můžete použít dřívější datum a vrátí zápornou hodnotu. Pokud tyto dva argumenty prohodíme, dostaneme následující:

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

Výsledek:

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

Příklad 3 – Hodnoty data a času

Při použití s ​​datetime hodnoty, k porovnání dat se používá pouze datová část. Příklad:

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

Výsledek:

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

Příklad 4 – Databázový dotaz

Zde je příklad použití DATEDIFF() v databázovém dotazu. V tomto příkladu porovnávám payment_date sloupec s dnešním datem (pomocí CURDATE() funkce pro návrat dnešního data):

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

Výsledek:

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


  1. Jak použít konstantu balíčku v příkazu SQL SELECT?

  2. 12c VARCHAR2(32767)

  3. chyba postgresql PANIC:nelze najít platný záznam kontrolního bodu

  4. Python &MySql:Unicode a kódování