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

Đơn vị ngày &giờ trong MySQL (Danh sách đầy đủ)

Dưới đây là danh sách các đơn vị có thể được sử dụng trong các hàm ngày giờ và khoảng thời gian của MySQL.

unit Giá trị Dự kiến ​​ expr Định dạng
MICROSECOND MICROSECONDS
SECOND SECONDS
MINUTE MINUTES
HOUR HOUR
DAY DAYS
WEEK WEEK
MONTH MONTH
QUARTER QUARTERS
YEAR YEARS
SECOND_MICROSECOND 'SECONDS.MICROSECONDS'
MINUTE_MICROSECOND 'MINUTES:SECONDS.MICROSECONDS'
MINUTE_SECOND 'MINUTES:SECONDS'
HOUR_MICROSECOND 'HOURS:MINUTES:SECONDS.MICROSECONDS'
HOUR_SECOND 'HOURS:MINUTES:SECONDS'
HOUR_MINUTE 'HOURS:MINUTES'
DAY_MICROSECOND 'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS'
DAY_SECOND 'DAYS HOURS:MINUTES:SECONDS'
DAY_MINUTE 'DAYS HOURS:MINUTES'
DAY_HOUR 'DAYS HOURS'
YEAR_MONTH 'YEARS-MONTHS'

Các đơn vị này có thể được sử dụng với +- toán tử khi thực hiện số học vào ngày tháng, với các hàm như ADDDATE() , SUBDATE() , DATE_ADD() , DATE_SUB()EXTRACT() .

Chúng cũng có thể được sử dụng trong ON SCHEDULE mệnh đề của CREATE_EVENT()ALTER_EVENT() các chức năng.

Chín đơn vị đầu tiên có thể được sử dụng với TIMESTAMPADD()TIMESTAMPDIFF() (hai hàm này không hỗ trợ các đơn vị tổng hợp tại thời điểm viết bài).

Các đơn vị có dấu gạch dưới là các đơn vị tổng hợp. Chúng bao gồm nhiều hơn một đơn vị thời gian cơ bản. Đây có thể được coi là một cách viết tắt để chỉ định nhiều đơn vị trong một lần. Mỗi đơn vị có thể được phân tách bằng bất kỳ ký tự dấu câu nào.

Ví dụ

Dưới đây là một ví dụ về việc thêm một năm vào biểu thức ngày giờ:

SELECT '2035-01-01 01:30:45' + INTERVAL 1 YEAR;

Kết quả:

2036-01-01 01:30:45

Trong trường hợp này, chúng tôi sử dụng + toán tử để thực hiện việc bổ sung.

Chức năng ngày giờ

Đơn vị ngày và giờ có thể được sử dụng với nhiều chức năng ngày khác nhau.

Đây là với DATE_ADD() chức năng:

SELECT DATE_ADD('2035-01-01 01:30:45', INTERVAL 1 YEAR);

Kết quả:

2036-01-01 01:30:45

Đơn vị tổng hợp

Dưới đây là một ví dụ sử dụng các đơn vị tổng hợp:

SELECT 
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:30:25' DAY_MINUTE) AS "DAY_MINUTE";

Kết quả:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2036-03-01 01:00:00 | 2035-01-01 02:25:35 | 2035-01-03 07:25:00 |
+---------------------+---------------------+---------------------+

Các số nguyên có thể được phân tách bằng bất kỳ ký tự dấu câu nào. Do đó, chúng tôi có thể thay thế dấu hai chấm bằng dấu chấm để có được kết quả tương tự:

SELECT 
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.25.35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.30.25' DAY_MINUTE) AS "DAY_MINUTE";

Kết quả:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2036-03-01 01:00:00 | 2035-01-01 02:25:35 | 2035-01-03 07:25:00 |
+---------------------+---------------------+---------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tương đương 'LIKE' trên Laravel-5 (Hùng biện)

  2. Mysql localhost! =127.0.0.1?

  3. Trong SQL, hai bảng tham chiếu đến nhau có được không?

  4. Truy vấn UNION với mẫu bản ghi hoạt động của trình mã hóa

  5. Cách hạn chế kết quả trong MySQL, PostgreSQL và SQLite