Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Ví dụ về DATEDIFF () - MySQL

Trong MySQL, bạn có thể sử dụng DATEDIFF() hàm để tìm sự khác biệt giữa hai ngày. Cách hoạt động của nó là bạn cung cấp hai đối số (một đối số cho mỗi ngày) và DATEDIFF() sẽ trả về số ngày giữa hai ngày.

Ví dụ bên dưới.

Cú pháp

Đầu tiên, đây là cú pháp:

DATEDIFF(expr1,expr2)

Trong đó expr1 là ngày đầu tiên và expr2 là ngày thứ hai.

Ví dụ 1 - Cách sử dụng cơ bản

Đây là một ví dụ để chứng minh.

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

Kết quả:

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

Trong ví dụ này, ngày đầu tiên muộn hơn ngày thứ hai. Trong trường hợp này, chúng tôi nhận được giá trị trả về dương.

Ví dụ 2 - So sánh với Ngày trước đó

Ngày đầu tiên không nhất thiết phải muộn hơn ngày thứ hai. Bạn có thể sử dụng ngày sớm hơn cho đối số đầu tiên và nó sẽ trả về giá trị âm. Nếu chúng ta hoán đổi hai đối số đó, chúng ta nhận được như sau:

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

Kết quả:

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

Ví dụ 3 - Giá trị ngày giờ

Khi được sử dụng với datetime giá trị, chỉ phần ngày được sử dụng để so sánh các ngày. Ví dụ:

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

Kết quả:

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

Ví dụ 4 - Truy vấn Cơ sở dữ liệu

Đây là một ví dụ về việc sử dụng DATEDIFF() trong một truy vấn cơ sở dữ liệu. Trong ví dụ này, tôi so sánh payment_date cột với ngày hôm nay (bằng cách sử dụng CURDATE() hàm để trả về ngày hôm nay):

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

Kết quả:

+------------+------------+-------+
| 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. JSON_UNQUOTE () - Xóa trích dẫn khỏi tài liệu JSON trong MySQL

  2. Làm thế nào để sửa chữa một chuỗi được tuần tự hóa đã bị hỏng do độ dài đếm byte không chính xác?

  3. mysql chọn từ n hàng cuối cùng

  4. MySQL số ​​lượng các mục trong mệnh đề

  5. Cái nào hiệu quả hơn:Nhiều bảng MySQL hay một bảng lớn?