Trong bài này mình sẽ hướng dẫn cách sử dụng hàm
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
2 trong mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
3 thông qua cú pháp và ví dụ thực tế.Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức.
1. Mô tả
Hàm
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
2 trả về ngày giờ hiện tại.2. Cú pháp
Cú pháp của hàm
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
2 trong mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
3 là:Lưu ý:
Bài viết này được đăng tại [free tuts .net]
- Hàm
2 sẽ trả về ngày hiện tại dưới định dạng 'YYYY-MM-DD HH: MM: SS', nếu được sử dụng trong ngữ cảnh chuỗi.mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET']; -> '2004-01-01 13:00:00' mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00']; -> '2004-01-01 22:00:00'
- Hàm
2 sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDDHHMMSS, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL trước MySQL 4.1.13.mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET']; -> '2004-01-01 13:00:00' mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00']; -> '2004-01-01 22:00:00'
- Hàm
2 sẽ trả về ngày hiện tại dưới dạng định dạng YYYYMMDDHHMMSS.uuuuuu, nếu được sử dụng trong ngữ cảnh số trong các phiên bản của MySQL 4.1.13 trở lên.mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET']; -> '2004-01-01 13:00:00' mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00']; -> '2004-01-01 22:00:00'
3. Version
Chức năng
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
2 có thể được sử dụng trong các phiên bản sau của mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
3:- MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23
4. Ví dụ
mysql> SELECT NOW[]; Ket qua: '2019-03-30 05:16:40' mysql> SELECT NOW[] + 5; Ket qua: 20190330051661
Phần này mô tả các chức năng có thể được sử dụng để thao tác các giá trị thời gian. Xem Phần & NBSP; 11.2, Loại dữ liệu ngày và thời gian, để biết mô tả phạm vi của các giá trị mỗi ngày và loại thời gian và các định dạng hợp lệ trong đó các giá trị có thể được chỉ định.
Dưới đây là một ví dụ sử dụng các chức năng ngày. Truy vấn sau chọn tất cả các hàng có giá trị
mysql> SELECT CURDATE[];
-> '2008-06-13'
mysql> SELECT CURDATE[] + 0;
-> 20080613
2 trong vòng 30 ngày qua:mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CURDATE[];
-> '2008-06-13'
mysql> SELECT CURDATE[] + 0;
-> 20080613
3 trong một truy vấn duy nhất luôn tạo ra cùng một kết quả. . cho bất kỳ từ đồng nghĩa của họ.Các hàm
mysql> SELECT CURDATE[];
-> '2008-06-13'
mysql> SELECT CURDATE[] + 0;
-> 20080613
9, mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
0, mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
1 và mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
2 Trả về các giá trị trong múi giờ phiên hiện tại, có sẵn là giá trị phiên của biến hệ thống mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
3. Ngoài ra, mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
4 giả định rằng đối số của nó là giá trị DateTime trong múi giờ phiên. Xem Phần & NBSP; 5.1.13, Múi giờ của máy chủ MySQL hỗ trợ.Một số chức năng ngày có thể được sử dụng với ngày Zero Zero hoặc ngày không đầy đủ như
mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
5, trong khi các chức năng khác không thể. Các chức năng trích xuất các phần của ngày thường hoạt động với các ngày không đầy đủ và do đó có thể trả về 0 khi bạn có thể mong đợi một giá trị khác biệt. Ví dụ:“zero” dates or incomplete dates such as mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
5, whereas others cannot. Functions that extract parts of dates typically work with incomplete dates and thus can return 0 when you might otherwise expect a nonzero value. For example: mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
Các chức năng khác mong đợi ngày hoàn chỉnh và trả về
mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
6 cho ngày không đầy đủ. Chúng bao gồm các chức năng thực hiện số học ngày hoặc các phần bản đồ của ngày đến tên. Ví dụ:mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
Một số chức năng là nghiêm ngặt khi được thông qua giá trị hàm
mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
7 như đối số của chúng và từ chối ngày không đầy đủ với một ngày bằng 0: mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
8, mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
9, mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
9. Hàm liên quan mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
Khi được gọi với dạng
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
________ 126, ________ 127]
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
________ 133, ________ 134, ________ 135]
mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
8 Chuyển đổi giá trị DateTime mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
6 nếu các đối số không hợp lệ.Nếu giá trị rơi ra khỏi phạm vi được hỗ trợ của loại
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
mysql> SELECT CURDATE[];
-> '2008-06-13'
mysql> SELECT CURDATE[] + 0;
-> 20080613
4Trả về ngày hiện tại dưới dạng giá trị trong định dạng
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
69, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số. Giá trị được thể hiện trong múi giờ phiên.Ghi chú
Nếu đối số
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
2________ 489, ________ 490]
Trả về số tháng giữa các giai đoạn
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
91 và mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
90. mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
91 và mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
90 phải ở định dạng mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
85 hoặc mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
86. Lưu ý rằng các đối số khoảng thời gian mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
91 và mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
90 không phải là giá trị ngày.not date values. mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
3 QUARTER[
57 đến mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
02.mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
4 SECOND[
20]mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
Trả về thứ hai cho
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
20, trong phạm vi mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
22 đến mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
49.mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
5
mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
07]Trả về đối số
mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
08, được chuyển đổi thành giờ, phút và giây, dưới dạng giá trị mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
6________ 511, ________ 207]
Đây là nghịch đảo của hàm
mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
22. Phải mất một chuỗi mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
14 và chuỗi định dạng mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
07. mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
12 Trả về giá trị mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
14 là bất hợp pháp, mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
12 trả về mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
6 và đưa ra cảnh báo.Máy chủ quét
mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
14 cố gắng khớp với nó. Chuỗi định dạng có thể chứa các ký tự và định dạng theo nghĩa đen bắt đầu bằng mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
11. Các ký tự theo nghĩa đen trong mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
07 phải phù hợp theo nghĩa đen trong mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
14. Định dạng xác định trong mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
07 phải khớp với phần ngày hoặc phần thời gian trong mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
14. Đối với các nhà xác định có thể được sử dụng trong mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
07, hãy xem mô tả hàm mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
22.mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
7Quét bắt đầu vào đầu
mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
14 và thất bại nếu mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
07 được tìm thấy không khớp. Các ký tự phụ ở cuối mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
14 bị bỏ qua.mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
8Ngày hoặc phần thời gian không xác định có giá trị 0, do đó các giá trị được chỉ định không hoàn chỉnh trong
mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
14 tạo ra kết quả với một số hoặc tất cả các phần được đặt thành 0:mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
9Phạm vi kiểm tra trên các phần của các giá trị ngày được mô tả trong Phần & NBSP; 11.2.2, Ngày Date, DateTime và Timestamp loại. Điều này có nghĩa là, ví dụ, ngày Zero Zero có giá trị hoặc ngày có giá trị phần là 0 được cho phép trừ khi chế độ SQL được đặt để không cho phép các giá trị đó.“zero” dates or dates with part values of 0 are permitted unless the SQL mode is set to disallow such values.
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
0Nếu chế độ
mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
36 SQL được bật, ngày 0 không được phép. Trong trường hợp đó, mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
12 trả về mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
6 và tạo cảnh báo:mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
1Ghi chú
Bạn không thể sử dụng định dạng
mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
39 để chuyển đổi chuỗi một tuần thành một ngày vì sự kết hợp của một năm và tuần không xác định duy nhất một năm và tháng nếu tuần vượt qua ranh giới một tháng. Để chuyển đổi một tuần một lần thành một ngày, bạn cũng nên chỉ định ngày trong tuần:mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
2 Tiểu mục [________ 181, khoảng
9.mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
3Mẫu thứ hai cho phép sử dụng giá trị số nguyên cho
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
4 SUBTIME[
55 Trả về mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
5mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
SYSDATE[[
68 'hoặc mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
69, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số.mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
Nếu đối số
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
73 trả về thời gian mà nó thực hiện. Điều này khác với hành vi cho mysql> SELECT CURDATE[];
-> '2008-06-13'
mysql> SELECT CURDATE[] + 0;
-> 20080613
3, trả về một thời gian không đổi cho biết thời gian mà tuyên bố bắt đầu thực thi. .mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
1Ngoài ra, câu lệnh
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
74 ảnh hưởng đến giá trị được trả về bởi mysql> SELECT CURDATE[];
-> '2008-06-13'
mysql> SELECT CURDATE[] + 0;
-> 20080613
3 nhưng không phải bởi mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
73. Điều này có nghĩa là các cài đặt dấu thời gian trong nhật ký nhị phân không có tác dụng đối với các yêu cầu của mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
73.Bởi vì
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
73 có thể trả về các giá trị khác nhau ngay cả trong cùng một câu lệnh và không bị ảnh hưởng bởi mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
74, nên nó không có tính tự nhiên và do đó không an toàn để sao chép nếu ghi nhật ký nhị phân dựa trên câu lệnh được sử dụng. Nếu đó là một vấn đề, bạn có thể sử dụng ghi nhật ký dựa trên hàng.Ngoài ra, bạn có thể sử dụng tùy chọn
mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
74 để khiến mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
73 trở thành bí danh cho mysql> SELECT CURDATE[];
-> '2008-06-13'
mysql> SELECT CURDATE[] + 0;
-> 20080613
3. Điều này hoạt động nếu tùy chọn được sử dụng trên cả nguồn và bản sao.Bản chất không xác định của
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
73 cũng có nghĩa là các chỉ số không thể được sử dụng để đánh giá các biểu thức đề cập đến nó. TIME[
80 được đặt thành mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
81.mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
7
TIMEDIFF[
84 Trả về mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
84 được giới hạn trong phạm vi cho phép các giá trị ____1099. Ngoài ra, bạn có thể sử dụng một trong hai hàm mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
4, cả hai đều trả về số nguyên.mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
8 Dấu thời gian [________ 113], dấu thời gian [________ 130, ________ 127]
,
TIMESTAMP[
9mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
TIMESTAMPADD[
02,mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
03]mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
Thêm biểu thức số nguyên
mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
02 vào ngày hoặc biểu thức DateTime mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
03. Đơn vị cho mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
02 được đưa ra bởi đối số mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
08 [microseconds], mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
09, mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
10, mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
24, mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
13, mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
18. Ví dụ, mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
20 đều hợp pháp.mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
0
TIMESTAMPDIFF[
22,mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
23]mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
Trả về
mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
23 - mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
22, trong đó mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
22 và mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
23 là các biểu thức ngày hoặc dữ liệu. Một biểu thức có thể là một ngày và một dữ liệu khác; Giá trị ngày được coi là một DateTime có thời gian phần mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
28 khi cần thiết. Đơn vị cho kết quả [một số nguyên] được đưa ra bởi đối số mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
31.mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
1Ghi chú
Thứ tự của ngày hoặc các đối số DateTime cho hàm này trái ngược với chức năng được sử dụng với hàm
mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
32 khi được gọi với 2 đối số. TIME_FORMAT[
20,mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
07]mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
Điều này được sử dụng giống như hàm
mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
22, nhưng chuỗi mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
07 có thể chỉ chứa các định dạng định dạng chỉ trong nhiều giờ, phút, giây và micro giây. Các nhà xác định khác tạo ra giá trị mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
6 hoặc mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
22.Nếu giá trị
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
20 chứa một phần giờ lớn hơn mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
40, các định dạng định dạng mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
38 và mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
53 giờ tạo ra một giá trị lớn hơn phạm vi thông thường là mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
43. Các định dạng định dạng giờ khác tạo ra giá trị giờ Modulo 12.mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
2 TIME_TO_SEC[
20]mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
Trả về đối số
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
20, được chuyển đổi thành giây.mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
3
TO_DAYS[
4mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
49 và mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
50 được xem là ngày giống hệt nhau:mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
5Trong MySQL, ngày 0 được xác định là
mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
40, mặc dù ngày này được coi là không hợp lệ. Điều này có nghĩa là, đối với mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
40 và mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
53, mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
6Điều này đúng cho dù chế độ máy chủ SQL
mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
55 có được bật hay không.
TO_SECONDS[
6.mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
7Giống như
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
40, mặc dù ngày này được coi là không hợp lệ. Điều này có nghĩa là, đối với mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
40 và mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
53, mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
8Điều này đúng cho dù chế độ máy chủ SQL
mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
55 có được bật hay không. UNIX_TIMESTAMP[[
4 được gọi không có đối số mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
72 UTC.mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
Nếu
mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
4 được gọi với đối số mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
66 UTC. Máy chủ diễn giải mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
69. Nếu đối số bao gồm một phần thời gian, nó có thể tùy chọn bao gồm một phần giây phân số.Giá trị trả về là một số nguyên nếu không có đối số nào được đưa ra hoặc đối số không bao gồm phần giây phân đoạn hoặc
mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
85 nếu một đối số được đưa ra bao gồm một phần giây.Khi đối số
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
4 sẽ trả về giá trị dấu thời gian bên trong trực tiếp, không có chuyển đổi chuỗi trực tiếp trực tiếp.“string-to-Unix-timestamp” conversion. Phạm vi hợp lệ của các giá trị đối số giống như đối với kiểu dữ liệu
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
90 UTC đến mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
91 UTC. Nếu bạn chuyển một ngày ngoài phạm vi cho mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
4, nó sẽ trả về mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
22.mysql> SELECT ADDDATE['2008-01-02', 31];
-> '2008-02-02'
9Nếu bạn sử dụng
mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
4 và mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
2 để chuyển đổi giữa các giá trị trong múi giờ không UTC và các giá trị dấu thời gian UNIX, việc chuyển đổi sẽ bị mất vì ánh xạ không phải là một-một theo cả hai hướng. Ví dụ, do các quy ước cho các thay đổi múi giờ địa phương như thời gian tiết kiệm ánh sáng ban ngày [DST], mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
4 có thể ánh xạ hai giá trị khác biệt trong múi giờ không UTC cho cùng một giá trị dấu thời gian Unix. mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
2 Bản đồ giá trị đó chỉ trở lại một trong các giá trị ban đầu. Dưới đây là một ví dụ, sử dụng các giá trị khác biệt trong múi giờ mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
98:mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
0Nếu bạn muốn trừ các cột
mysql> SELECT CURTIME[];
-> '23:50:26'
mysql> SELECT CURTIME[] + 0;
-> 235026.000000
4, bạn có thể muốn chuyển chúng vào số nguyên đã ký. Xem Phần & NBSP; 12.11, Chức năng Cast Cast và toán tử.
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
00, mysql> SELECT CURDATE[];
-> '2008-06-13'
mysql> SELECT CURDATE[] + 0;
-> 20080613
6Trả về ngày UTC hiện tại dưới dạng giá trị trong định dạng
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
69, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số.Nếu đối số
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
3 WEEK[
15]]mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
09, UTC_Timestamp [[________ 165]]Trả về ngày và thời gian UTC hiện tại dưới dạng giá trị trong định dạng
mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
68 'hoặc mysql> SELECT DATE_ADD['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
mysql> SELECT ADDDATE['2008-01-02', INTERVAL 31 DAY];
-> '2008-02-02'
69, tùy thuộc vào chức năng được sử dụng trong bối cảnh chuỗi hay số.
Phạm vi | Tuần 1 là tuần đầu tiên… | Chủ nhật |
0-53 | Tuần 1 là tuần đầu tiên… | Chủ nhật |
Phạm vi | Tuần 1 là tuần đầu tiên… | Chủ nhật |
0-53 | Tuần 1 là tuần đầu tiên… | Chủ nhật |
Phạm vi | Tuần 1 là tuần đầu tiên… | Chủ nhật |
0-53 | Tuần 1 là tuần đầu tiên… | Chủ nhật |
Phạm vi | Tuần 1 là tuần đầu tiên… | Chủ nhật |
0-53 | Tuần 1 là tuần đầu tiên… | Chủ nhật |
0-53“with 4 or more days this year,” weeks are numbered according to ISO 8601:1988:
với một ngày chủ nhật trong năm nay
Nếu không, đó là tuần cuối cùng của năm trước, và tuần tiếp theo là tuần 1.
mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
4Nếu một ngày rơi vào tuần cuối cùng của năm trước, MySQL sẽ trả lại
mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
22 nếu bạn không sử dụng mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
45, mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
28, mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
03 hoặc mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
46 làm đối số mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
15 tùy chọn:mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
5Người ta có thể lập luận rằng
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
33 vì ngày đã cho thực sự xảy ra vào tuần thứ 52 năm 1999. mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
22 thay vào đó để giá trị trả lại là số tuần trong năm nhất định. Điều này sử dụng hàm mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
22, mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
45, mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
39 hoặc mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
46 làm đối số mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
15 tùy chọn.mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
6Ngoài ra, sử dụng chức năng
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
7 WEEKDAY[
22 = Thứ Hai, mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
57 = Thứ ba, mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
03 = Chủ nhật].mysql> SELECT DATE_ADD['2006-05-00',INTERVAL 1 DAY];
-> NULL
mysql> SELECT DAYNAME['2006-05-00'];
-> NULL
mysql> SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
8 WEEKOFYEAR[
57 đến mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
82. mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
9mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT ADDTIME['2007-12-31 23:59:59.999999', '1 1:1:1.000002'];
-> '2008-01-02 01:01:01.000001'
mysql> SELECT ADDTIME['01:00:00.999999', '02:00:00.999998'];
-> '03:00:01.999997'
YEAR[
55 đến mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
56 hoặc mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
22 cho ngày Zero Zero.“zero” date. mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
0
Tuần một tuần [____ 181], một tuần [________ 181, ________ 715]
, YEARWEEK[
15]mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
Trả lại năm và tuần cho một ngày. Năm kết quả có thể khác với năm trong cuộc tranh luận về ngày đầu tiên và tuần cuối cùng của năm.
Đối số
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
15 hoạt động chính xác giống như đối số mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
15 thành mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
15 là 0 được sử dụng. Không giống như mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
23 không ảnh hưởng đến mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT CONVERT_TZ['2004-01-01 12:00:00','GMT','MET'];
-> '2004-01-01 13:00:00'
mysql> SELECT CONVERT_TZ['2004-01-01 12:00:00','+00:00','+10:00'];
-> '2004-01-01 22:00:00'
1Số tuần khác với những gì hàm
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY] SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
22] cho các đối số tùy chọn mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
22 hoặc mysql> SELECT DAYOFMONTH['2001-11-00'], MONTH['2005-00-00'];
-> 0, 0
57, vì mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB[CURDATE[],INTERVAL 30 DAY]