DATE_ADD MySQL

Các kiểu dữ liệu DATE, DATETIME và TIMESTAMP trong MySQL được sử dụng để lưu trữ các giá trị ngày, ngày tháng và thời gian, dấu thời gian tương ứng. Trong đó dấu thời gian là một giá trị số biểu thị số mili giây từ '1970-01-01 00. 00. 01' UTC (kỷ nguyên) đến thời gian đã chỉ định. MySQL cung cấp một tập hợp các chức năng để thao tác các giá trị này

Hàm MYSQL DATE_ADD() được sử dụng để thêm khoảng thời gian đã chỉ định vào giá trị ngày

cú pháp

Sau đây là cú pháp của hàm trên –

DATE_ADD(date, INTERVAL expr unit);

ở đâu,

  • ngày là giá trị đại diện cho ngày, ngày có thể thuộc loại Chuỗi, NGÀY (NĂM, THÁNG và NGÀY), DATETIME (GIỜ, PHÚT hoặc GIÂY) hoặc DẤU THỜI GIAN

  • expr là giá trị đại diện cho giá trị khoảng

  • đơn vị là loại khoảng thời gian được biểu thị bằng giá trị expr có thể là NGÀY, TUẦN, THÁNG, QUÝ, NĂM, GIỜ, PHÚT, GIÂY, MICROSECOND

Đơn vị có thể là các giá trị hỗn hợp như. SECOND_MICROSECOND, MINUTE_MICROSECOND, MINUTE_SECOND, HOUR_MICRECOND, HOUR_SECOND, HOUR_MINUTE, DAY_MICROSECOND, DAY_SECOND, DAY_MINUTE, DAY_HOUR, YEAR_MONTH

ví dụ 1

Ví dụ sau minh họa cách sử dụng hàm DATE_ADD() –

mysql> SELECT DATE_ADD('2015-09-05', INTERVAL 20 DAY);
+-----------------------------------------+
| DATE_ADD('2015-09-05', INTERVAL 20 DAY) |
+-----------------------------------------+
|                              2015-09-25 |
+-----------------------------------------+
1 row in set (0.00 sec)

ví dụ 2

Sau đây là một ví dụ khác về chức năng này –

mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 4 YEAR);
+-----------------------------------------+
| DATE_ADD('2008-01-02', INTERVAL 4 YEAR) |
+-----------------------------------------+
|                              2012-01-02 |
+-----------------------------------------+
1 row in set (0.00 sec)

ví dụ 3

Trong ví dụ sau, chúng tôi đang chuyển giá trị DATETIME cho ngày -

mysql> SELECT DATE_ADD('2018-05-23 20:40:32.88558', INTERVAL 3 WEEK);
+--------------------------------------------------------+
| DATE_ADD('2018-05-23 20:40:32.88558', INTERVAL 3 WEEK) |
+--------------------------------------------------------+
|                             2018-06-13 20:40:32.885580 |
+--------------------------------------------------------+
1 row in set (0.00 sec)

Ví dụ 4

Chúng ta cũng có thể chuyển các giá trị âm làm đối số cho hàm này –

mysql> SELECT DATE_ADD('2015-09-05', INTERVAL -20 DAY);
+------------------------------------------+
| DATE_ADD('2015-09-05', INTERVAL -20 DAY) |
+------------------------------------------+
|                               2015-08-16 |
+------------------------------------------+
1 row in set (0.10 sec)
mysql> SELECT DATE_ADD('1995-11-15', INTERVAL -3355 WEEK);
+---------------------------------------------+
| DATE_ADD('1995-11-15', INTERVAL -3355 WEEK) |
+---------------------------------------------+
|                                  1931-07-29 |
+---------------------------------------------+
1 row in set (0.00 sec)

Ví dụ 5

Bạn cũng có thể chuyển tên cột làm đối số cho hàm này. Chúng ta hãy tạo một bảng có tên MyPlayers trong cơ sở dữ liệu MySQL bằng cách sử dụng câu lệnh CREATE như hình bên dưới –

mysql>CREATE TABLE MyPlayers(
	ID INT,
	First_Name VARCHAR(255),
	Last_Name VARCHAR(255),
	Date_Of_Birth date,
	Place_Of_Birth VARCHAR(255),
	Country VARCHAR(255),
	PRIMARY KEY (ID)
);

Bây giờ, chúng ta sẽ chèn 7 bản ghi vào bảng MyPlayers bằng câu lệnh INSERT –

mysql> insert into MyPlayers values(1, 'Shikhar', 'Dhawan', DATE('1981-12-05'), 'Delhi', 'India');
mysql> insert into MyPlayers values(2, 'Jonathan', 'Trott', DATE('1981-04-22'), 'CapeTown', 'SouthAfrica');
mysql> insert into MyPlayers values(3, 'Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka');
mysql> insert into MyPlayers values(4, 'Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India');
mysql> insert into MyPlayers values(5, 'Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India');
mysql> insert into MyPlayers values(6, 'Ravindra', 'Jadeja', DATE('1988-12-06'), 'Nagpur', 'India');
mysql> insert into MyPlayers values(7, 'James', 'Anderson', DATE('1982-06-30'), 'Burnley', 'England');

Truy vấn sau thêm 14 năm vào các thực thể của cột Date_Of_Birth —

mysql> SELECT First_Name, Last_Name, Date_Of_Birth, Country, DATE_ADD(Date_Of_Birth, INTERVAL 14 YEAR) FROM MyPlayers;
+------------+------------+---------------+-------------+-------------------------------------------+
| First_Name |  Last_Name | Date_Of_Birth |     Country | DATE_ADD(Date_Of_Birth, INTERVAL 14 YEAR) |
+------------+------------+---------------+-------------+-------------------------------------------+
|    Shikhar |     Dhawan |    1981-12-05 |       India |                                1995-12-05 |
|   Jonathan |      Trott |    1981-04-22 | SouthAfrica |                                1995-04-22 |
|     Kumara | Sangakkara |    1977-10-27 |    Srilanka |                                1991-10-27 |
|      Virat |      Kohli |    1988-11-05 |       India |                                2002-11-05 |
|      Rohit |     Sharma |    1987-04-30 |       India |                                2001-04-30 |
|   Ravindra |     Jadeja |    1988-12-06 |       India |                                2002-12-06 |
|      James |   Anderson |    1982-06-30 |     England |                                1996-06-30 |
+------------+------------+---------------+-------------+------------------------------------------+
7 rows in set (0.00 sec)

Ví dụ 6

Chúng ta hãy tạo một bảng khác có tên Sales trong cơ sở dữ liệu MySQL bằng cách sử dụng câu lệnh CREATE như sau –

________số 8_______

Bây giờ, chúng ta sẽ chèn 5 bản ghi vào bảng Sales bằng câu lệnh INSERT –

insert into sales values (1, 'Key-Board', 'Raja', DATE('2019-09-01'), TIME('11:00:00'), 7000, 'Hyderabad');
insert into sales values (2, 'Earphones', 'Roja', DATE('2019-05-01'), TIME('11:00:00'), 2000, 'Vishakhapatnam');
insert into sales values (3, 'Mouse', 'Puja', DATE('2019-03-01'), TIME('10:59:59'), 3000, 'Vijayawada');
insert into sales values (4, 'Mobile', 'Vanaja', DATE('2019-03-01'), TIME('10:10:52'), 9000, 'Chennai');
insert into sales values (5, 'Headset', 'Jalaja', DATE('2019-04-06'), TIME('11:08:59'), 6000, 'Goa');

Truy vấn sau trừ 25 QUÝ cho các thực thể của cột Ngày gửi —

mysql> SELECT DATE_ADD('2015-09-05', INTERVAL 20 DAY);
+-----------------------------------------+
| DATE_ADD('2015-09-05', INTERVAL 20 DAY) |
+-----------------------------------------+
|                              2015-09-25 |
+-----------------------------------------+
1 row in set (0.00 sec)
0

Ví dụ 7

Giả sử chúng ta đã tạo một bảng có tên là Clarkes_data với 5 bản ghi trong đó bằng cách sử dụng các truy vấn sau –

DATE_ADD trong MySQL là gì?

Hàm DATE_ADD() thêm khoảng thời gian/ngày vào một ngày và sau đó trả về ngày .

Tại sao DATE_ADD() được sử dụng?

Hàm DATE_ADD() trong MySQL được sử dụng để thêm khoảng thời gian hoặc ngày đã chỉ định vào một ngày đã chỉ định và sau đó trả về ngày . Ngày được chỉ định để được sửa đổi. Ở đây giá trị là ngày hoặc khoảng thời gian để thêm. Giá trị này có thể là cả tích cực và tiêu cực.

Làm cách nào để thêm giá trị ngày trong MySQL?

Để chạy lệnh Chèn MySQL và thêm ngày hiện tại vào bảng của bạn, bạn có thể sử dụng hàm tích hợp sẵn của MySQL CURDATE() trong truy vấn của mình

Làm cách nào để thêm 1 ngày trong MySQL?

Chúng ta có thể thêm 1 ngày vào ngày với sự trợ giúp của hàm DATE_ADD() .