9.1.3 & nbsp; Ngày và thời gian theo nghĩa đen
Giá trị ngày và thời gian có thể được biểu diễn trong một số định dạng, chẳng hạn như các chuỗi được trích dẫn hoặc là số, tùy thuộc vào loại chính xác của giá trị và các yếu tố khác. Ví dụ: trong các bối cảnh mà MySQL mong đợi một ngày, nó diễn giải bất kỳ '2015-07-21'
, '20150721'
và
{ d 'str' }
{ t 'str' }
{ ts 'str' }
0 nào như một ngày.Phần này mô tả các định dạng chấp nhận được cho các chữ ngày và thời gian. Để biết thêm thông tin về các loại dữ liệu thời gian, chẳng hạn như phạm vi của các giá trị được phép, xem Phần & NBSP; 11.2, các loại dữ liệu ngày và thời gian.
Tiêu chuẩn SQL và ODBC ngày và thời gian theo nghĩa đen
SQL tiêu chuẩn yêu cầu nghĩa đen theo thời gian phải được chỉ định bằng cách sử dụng từ khóa loại và chuỗi. Không gian giữa từ khóa và chuỗi là tùy chọn.
DATE 'str'
TIME 'str'
TIMESTAMP 'str'
MySQL nhận ra nhưng, không giống như SQL tiêu chuẩn, không yêu cầu từ khóa loại. Các ứng dụng phải tuân thủ tiêu chuẩn nên bao gồm từ khóa loại cho các chữ theo thời gian.
MySQL cũng nhận ra cú pháp ODBC tương ứng với cú pháp SQL tiêu chuẩn:
{ d 'str' }
{ t 'str' }
{ ts 'str' }
MySQL sử dụng các từ khóa loại và các công trình ODBC để tạo ra các giá trị
{ d 'str' }
{ t 'str' }
{ ts 'str' }
1, { d 'str' }
{ t 'str' }
{ ts 'str' }
2 và { d 'str' }
{ t 'str' }
{ ts 'str' }
3, bao gồm một phần phần phân đoạn kéo dài nếu được chỉ định. Cú pháp { d 'str' }
{ t 'str' }
{ ts 'str' }
4 tạo ra giá trị { d 'str' }
{ t 'str' }
{ ts 'str' }
3 trong MySQL vì { d 'str' }
{ t 'str' }
{ ts 'str' }
3 có phạm vi tương ứng chặt chẽ hơn với loại SQL { d 'str' }
{ t 'str' }
{ ts 'str' }
4 tiêu chuẩn, có phạm vi một năm từ { d 'str' }
{ t 'str' }
{ ts 'str' }
8 đến { d 'str' }
{ t 'str' }
{ ts 'str' }
9. [Phạm vi MySQL { d 'str' }
{ t 'str' }
{ ts 'str' }
4 năm là mysql> SELECT DATE'2012@12@31';
+------------------+
| DATE'2012@12@31' |
+------------------+
| 2012-12-31 |
+------------------+
1 row in set, 1 warning [0.00 sec]
mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 4095
Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is
deprecated. Prefer the standard '-'.
1 row in set [0.00 sec]
1 đến mysql> SELECT DATE'2012@12@31';
+------------------+
| DATE'2012@12@31' |
+------------------+
| 2012-12-31 |
+------------------+
1 row in set, 1 warning [0.00 sec]
mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 4095
Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is
deprecated. Prefer the standard '-'.
1 row in set [0.00 sec]
2.]Chuỗi và chữ số theo ngữ cảnh ngày và thời gian
MySQL nhận ra các giá trị
{ d 'str' }
{ t 'str' }
{ ts 'str' }
1 trong các định dạng này:Như một chuỗi ở định dạng
4 'hoặcmysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
5'. Một cú pháp thoải mái của người Viking được cho phép, nhưng không được chấp nhận: bất kỳ ký tự dấu câu nào cũng có thể được sử dụng làm dấu phân cách giữa các phần ngày. Ví dụ,mysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
6,mysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
7,mysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
8 vàmysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
9 là tương đương. Bắt đầu với MySQL 8.0,29, sử dụng bất kỳ ký tự nào ngoài dấu gạch ngang [mysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
0] khi dấu phân cách đưa ra cảnh báo, như được hiển thị ở đây:“relaxed” syntax is permitted, but is deprecated: Any punctuation character may be used as the delimiter between date parts. For example,mysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
6,mysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
7,mysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
8, andmysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
9 are equivalent. Beginning with MySQL 8.0.29, using any character other than the dash [mysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
0] as the delimiter raises a warning, as shown here:mysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
mysql> SELECT DATE'2012@12@31'; +------------------+ | DATE'2012@12@31' | +------------------+ | 2012-12-31 | +------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '@' in position 4 in datetime value '2012@12@31' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
Là một chuỗi không có trình phân cách trong định dạng
1 'hoặcmysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
2', miễn là chuỗi có ý nghĩa như một ngày. Ví dụ,mysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
3 vàmysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
4 được hiểu làmysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
5, nhưngmysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
6 là bất hợp pháp [nó có các phần tháng và ngày vô nghĩa] và trở thànhmysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
7.mysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
Là một số ở định dạng
8 hoặcmysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
9, với điều kiện là số có ý nghĩa như một ngày. Ví dụ,mysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
0 vàmysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
1 được hiểu làmysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
2.mysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
MySQL nhận ra các giá trị
{ d 'str' }
{ t 'str' }
{ ts 'str' }
3 và { d 'str' }
{ t 'str' }
{ ts 'str' }
4 trong các định dạng này:Như một chuỗi ở định dạng
5 'hoặcmysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
6'. MySQL cũng cho phép một cú pháp thoải mái của người Viking ở đây, mặc dù điều này không được dùng nữa: bất kỳ ký tự dấu câu nào cũng có thể được sử dụng làm dấu phân cách giữa các phần ngày hoặc phần thời gian. Ví dụ,mysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
7,mysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
8,mysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
9 vàmysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
0 là tương đương. Bắt đầu với MySQL 8.0,29, sử dụng bất kỳ ký tự nào làm trình phân cách trong các giá trị đó, ngoài dấu gạch ngang [mysql> SELECT TIMESTAMP'2021-06-06 '> 11:15:25'; +--------------------------------+ | TIMESTAMP'2021-06-06 11:15:25' | +--------------------------------+ | 2021-06-06 11:15:25 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '\n' in position 10 in datetime value '2021-06-06 11:15:25' at row 1 is deprecated. Prefer the standard ' '. 1 row in set [0.00 sec]
0] cho phần ngày và dấu hai chấm [mysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
2] cho phần thời gian, đưa ra cảnh báo, như được hiển thị ở đây:“relaxed” syntax here, although this is deprecated: Any punctuation character may be used as the delimiter between date parts or time parts. For example,mysql> SELECT TIMESTAMP'2021-06-06 '> 11:15:25'; +--------------------------------+ | TIMESTAMP'2021-06-06 11:15:25' | +--------------------------------+ | 2021-06-06 11:15:25 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '\n' in position 10 in datetime value '2021-06-06 11:15:25' at row 1 is deprecated. Prefer the standard ' '. 1 row in set [0.00 sec]
7,mysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
8,mysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
9, andmysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
0 are equivalent. Beginning with MySQL 8.0.29, use of any characters as delimiters in such values, other than the dash [mysql> SELECT TIMESTAMP'2021-06-06 '> 11:15:25'; +--------------------------------+ | TIMESTAMP'2021-06-06 11:15:25' | +--------------------------------+ | 2021-06-06 11:15:25 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '\n' in position 10 in datetime value '2021-06-06 11:15:25' at row 1 is deprecated. Prefer the standard ' '. 1 row in set [0.00 sec]
0] for the date part and the colon [mysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
2] for the time part, raises a warning, as shown here:mysql> SELECT TIMESTAMP'2021-06-06 '> 11:15:25'; +--------------------------------+ | TIMESTAMP'2021-06-06 11:15:25' | +--------------------------------+ | 2021-06-06 11:15:25 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '\n' in position 10 in datetime value '2021-06-06 11:15:25' at row 1 is deprecated. Prefer the standard ' '. 1 row in set [0.00 sec]
mysql> SELECT TIMESTAMP'2012^12^31 11*30*45'; +--------------------------------+ | TIMESTAMP'2012^12^31 11*30*45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec]
Phân định duy nhất được công nhận giữa phần ngày và phần thời gian và phần giây phân số là điểm thập phân.
Các bộ phận ngày và thời gian có thể được phân tách bằng
3 chứ không phải là một không gian. Ví dụ,mysql> SELECT TIMESTAMP'2021-06-06 '> 11:15:25'; +--------------------------------+ | TIMESTAMP'2021-06-06 11:15:25' | +--------------------------------+ | 2021-06-06 11:15:25 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '\n' in position 10 in datetime value '2021-06-06 11:15:25' at row 1 is deprecated. Prefer the standard ' '. 1 row in set [0.00 sec]
7mysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
5 tương đương.mysql> SELECT TIMESTAMP'2021-06-06 '> 11:15:25'; +--------------------------------+ | TIMESTAMP'2021-06-06 11:15:25' | +--------------------------------+ | 2021-06-06 11:15:25 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '\n' in position 10 in datetime value '2021-06-06 11:15:25' at row 1 is deprecated. Prefer the standard ' '. 1 row in set [0.00 sec]
Trước đây, MYSQL đã hỗ trợ số lượng các ký tự khoảng trắng hàng đầu và theo dõi theo giá trị ngày và thời gian, cũng như giữa các phần ngày và thời gian của các giá trị
3 và{ d 'str' } { t 'str' } { ts 'str' }
4. Trong MySQL 8.0,29 trở lên, hành vi này không được chấp nhận và sự hiện diện của các ký tự khoảng trắng dư thừa kích hoạt cảnh báo, như được hiển thị ở đây:{ d 'str' } { t 'str' } { ts 'str' }
mysql> SELECT TIMESTAMP'2012-12-31 11-30-45'; +----------------------------------+ | TIMESTAMP'2012-12-31 11-30-45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11-30-45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec]
Cũng bắt đầu với MySQL 8.0,29, một cảnh báo được nêu ra khi các ký tự khoảng trắng khác với ký tự không gian được sử dụng, như thế này:
mysql> SELECT TIMESTAMP'2021-06-06 '> 11:15:25'; +--------------------------------+ | TIMESTAMP'2021-06-06 11:15:25' | +--------------------------------+ | 2021-06-06 11:15:25 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '\n' in position 10 in datetime value '2021-06-06 11:15:25' at row 1 is deprecated. Prefer the standard ' '. 1 row in set [0.00 sec]
Chỉ có một cảnh báo như vậy được nêu ra trên mỗi giá trị thời gian, mặc dù nhiều vấn đề có thể tồn tại với các dấu phân cách, khoảng trắng hoặc cả hai, như được hiển thị trong loạt các câu lệnh sau:
mysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
Là một chuỗi không có trình phân cách trong định dạng
8 'hoặcmysql> SELECT TIMESTAMP'2021-06-06 '> 11:15:25'; +--------------------------------+ | TIMESTAMP'2021-06-06 11:15:25' | +--------------------------------+ | 2021-06-06 11:15:25 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '\n' in position 10 in datetime value '2021-06-06 11:15:25' at row 1 is deprecated. Prefer the standard ' '. 1 row in set [0.00 sec]
9', miễn là chuỗi có ý nghĩa như một ngày. Ví dụ,mysql> SELECT TIMESTAMP'2021-06-06 '> 11:15:25'; +--------------------------------+ | TIMESTAMP'2021-06-06 11:15:25' | +--------------------------------+ | 2021-06-06 11:15:25 | +--------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '\n' in position 10 in datetime value '2021-06-06 11:15:25' at row 1 is deprecated. Prefer the standard ' '. 1 row in set [0.00 sec]
0 vàmysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
1 được hiểu làmysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
2, nhưngmysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
3 là bất hợp pháp [nó có phần phút vô nghĩa] và trở thànhmysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
4.mysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
Là một số ở định dạng
5 hoặcmysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
6, với điều kiện là số có ý nghĩa như một ngày. Ví dụ,mysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
7 vàmysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
8 được hiểu làmysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
9.mysql> SELECT TIMESTAMP'2012!-12-31 11:30:45'; +----------------------------------+ | TIMESTAMP'2012!-12-31 11:30:45' | +----------------------------------+ | 2012-12-31 11:30:45 | +----------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4095 Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45' at row 1 is deprecated. Prefer the standard '-'. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +---------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +---------------------------------+ | 2012-12-31 11:30:45 | +---------------------------------+ 1 row in set, 1 warning [0.00 sec] mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 4096 Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45' at row 1 is superfluous and is deprecated. Please remove. 1 row in set [0.00 sec] mysql> SELECT TIMESTAMP'2012-12-31 11:30:45'; +--------------------------------+ | TIMESTAMP'2012-12-31 11:30:45' | +--------------------------------+ | 2012-12-31 11:30:45 | +--------------------------------+ 1 row in set [0.00 sec]
Giá trị
{ d 'str' }
{ t 'str' }
{ ts 'str' }
3 hoặc { d 'str' }
{ t 'str' }
{ ts 'str' }
4 có thể bao gồm phần giây phân đoạn kéo dài lên đến độ chính xác của micro giây [6 chữ số]. Phần phân số phải luôn luôn được tách ra khỏi thời gian còn lại bằng một điểm thập phân; Không có phân đoạn phân đoạn nào khác được công nhận. Để biết thông tin về hỗ trợ giây phân đoạn trong MySQL, xem Phần & NBSP; 11.2.6, Phần giây phân đoạn trong các giá trị thời gian.Ngày chứa giá trị hai năm là mơ hồ vì thế kỷ chưa được biết. MySQL diễn giải các giá trị năm chữ số bằng cách sử dụng các quy tắc này:
Giá trị năm trong phạm vi
2 trở thànhmysql> CREATE TABLE ts [ -> id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, -> col TIMESTAMP NOT NULL -> ] AUTO_INCREMENT = 1; mysql> CREATE TABLE dt [ -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> col DATETIME NOT NULL -> ] AUTO_INCREMENT = 1; mysql> SET @@time_zone = 'SYSTEM'; mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = '+00:00'; mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = 'SYSTEM'; mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = '+00:00'; mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = 'SYSTEM'; mysql> SELECT @@system_time_zone; +--------------------+ | @@system_time_zone | +--------------------+ | EST | +--------------------+ mysql> SELECT col, UNIX_TIMESTAMP[col] FROM dt ORDER BY id; +---------------------+---------------------+ | col | UNIX_TIMESTAMP[col] | +---------------------+---------------------+ | 2020-01-01 10:10:10 | 1577891410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | | 2020-01-01 10:10:10 | 1577891410 | | 2020-01-01 04:40:10 | 1577871610 | | 2020-01-01 18:10:10 | 1577920210 | +---------------------+---------------------+ mysql> SELECT col, UNIX_TIMESTAMP[col] FROM ts ORDER BY id; +---------------------+---------------------+ | col | UNIX_TIMESTAMP[col] | +---------------------+---------------------+ | 2020-01-01 10:10:10 | 1577891410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | | 2020-01-01 05:10:10 | 1577873410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | +---------------------+---------------------+
3.mysql> CREATE TABLE ts [ -> id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, -> col TIMESTAMP NOT NULL -> ] AUTO_INCREMENT = 1; mysql> CREATE TABLE dt [ -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> col DATETIME NOT NULL -> ] AUTO_INCREMENT = 1; mysql> SET @@time_zone = 'SYSTEM'; mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = '+00:00'; mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = 'SYSTEM'; mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = '+00:00'; mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = 'SYSTEM'; mysql> SELECT @@system_time_zone; +--------------------+ | @@system_time_zone | +--------------------+ | EST | +--------------------+ mysql> SELECT col, UNIX_TIMESTAMP[col] FROM dt ORDER BY id; +---------------------+---------------------+ | col | UNIX_TIMESTAMP[col] | +---------------------+---------------------+ | 2020-01-01 10:10:10 | 1577891410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | | 2020-01-01 10:10:10 | 1577891410 | | 2020-01-01 04:40:10 | 1577871610 | | 2020-01-01 18:10:10 | 1577920210 | +---------------------+---------------------+ mysql> SELECT col, UNIX_TIMESTAMP[col] FROM ts ORDER BY id; +---------------------+---------------------+ | col | UNIX_TIMESTAMP[col] | +---------------------+---------------------+ | 2020-01-01 10:10:10 | 1577891410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | | 2020-01-01 05:10:10 | 1577873410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | +---------------------+---------------------+
Giá trị năm trong phạm vi
4 trở thànhmysql> CREATE TABLE ts [ -> id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, -> col TIMESTAMP NOT NULL -> ] AUTO_INCREMENT = 1; mysql> CREATE TABLE dt [ -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> col DATETIME NOT NULL -> ] AUTO_INCREMENT = 1; mysql> SET @@time_zone = 'SYSTEM'; mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = '+00:00'; mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = 'SYSTEM'; mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = '+00:00'; mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = 'SYSTEM'; mysql> SELECT @@system_time_zone; +--------------------+ | @@system_time_zone | +--------------------+ | EST | +--------------------+ mysql> SELECT col, UNIX_TIMESTAMP[col] FROM dt ORDER BY id; +---------------------+---------------------+ | col | UNIX_TIMESTAMP[col] | +---------------------+---------------------+ | 2020-01-01 10:10:10 | 1577891410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | | 2020-01-01 10:10:10 | 1577891410 | | 2020-01-01 04:40:10 | 1577871610 | | 2020-01-01 18:10:10 | 1577920210 | +---------------------+---------------------+ mysql> SELECT col, UNIX_TIMESTAMP[col] FROM ts ORDER BY id; +---------------------+---------------------+ | col | UNIX_TIMESTAMP[col] | +---------------------+---------------------+ | 2020-01-01 10:10:10 | 1577891410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | | 2020-01-01 05:10:10 | 1577873410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | +---------------------+---------------------+
5.mysql> CREATE TABLE ts [ -> id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, -> col TIMESTAMP NOT NULL -> ] AUTO_INCREMENT = 1; mysql> CREATE TABLE dt [ -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> col DATETIME NOT NULL -> ] AUTO_INCREMENT = 1; mysql> SET @@time_zone = 'SYSTEM'; mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = '+00:00'; mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = 'SYSTEM'; mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = '+00:00'; mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'], -> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00']; mysql> SET @@time_zone = 'SYSTEM'; mysql> SELECT @@system_time_zone; +--------------------+ | @@system_time_zone | +--------------------+ | EST | +--------------------+ mysql> SELECT col, UNIX_TIMESTAMP[col] FROM dt ORDER BY id; +---------------------+---------------------+ | col | UNIX_TIMESTAMP[col] | +---------------------+---------------------+ | 2020-01-01 10:10:10 | 1577891410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | | 2020-01-01 10:10:10 | 1577891410 | | 2020-01-01 04:40:10 | 1577871610 | | 2020-01-01 18:10:10 | 1577920210 | +---------------------+---------------------+ mysql> SELECT col, UNIX_TIMESTAMP[col] FROM ts ORDER BY id; +---------------------+---------------------+ | col | UNIX_TIMESTAMP[col] | +---------------------+---------------------+ | 2020-01-01 10:10:10 | 1577891410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | | 2020-01-01 05:10:10 | 1577873410 | | 2019-12-31 23:40:10 | 1577853610 | | 2020-01-01 13:10:10 | 1577902210 | +---------------------+---------------------+
Xem thêm Phần & NBSP; 11.2.8, Năm 2 chữ số trong ngày.
Đối với các giá trị được chỉ định là các chuỗi bao gồm các phân định phần ngày, việc chỉ định hai chữ số cho các giá trị tháng hoặc ngày là không cần thiết.
mysql> CREATE TABLE ts [
-> id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> col TIMESTAMP NOT NULL
-> ] AUTO_INCREMENT = 1;
mysql> CREATE TABLE dt [
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> col DATETIME NOT NULL
-> ] AUTO_INCREMENT = 1;
mysql> SET @@time_zone = 'SYSTEM';
mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = '+00:00';
mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = 'SYSTEM';
mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = '+00:00';
mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = 'SYSTEM';
mysql> SELECT @@system_time_zone;
+--------------------+
| @@system_time_zone |
+--------------------+
| EST |
+--------------------+
mysql> SELECT col, UNIX_TIMESTAMP[col] FROM dt ORDER BY id;
+---------------------+---------------------+
| col | UNIX_TIMESTAMP[col] |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 1577891410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
| 2020-01-01 10:10:10 | 1577891410 |
| 2020-01-01 04:40:10 | 1577871610 |
| 2020-01-01 18:10:10 | 1577920210 |
+---------------------+---------------------+
mysql> SELECT col, UNIX_TIMESTAMP[col] FROM ts ORDER BY id;
+---------------------+---------------------+
| col | UNIX_TIMESTAMP[col] |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 1577891410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
| 2020-01-01 05:10:10 | 1577873410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
+---------------------+---------------------+
7 giống như mysql> CREATE TABLE ts [
-> id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> col TIMESTAMP NOT NULL
-> ] AUTO_INCREMENT = 1;
mysql> CREATE TABLE dt [
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> col DATETIME NOT NULL
-> ] AUTO_INCREMENT = 1;
mysql> SET @@time_zone = 'SYSTEM';
mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = '+00:00';
mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = 'SYSTEM';
mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = '+00:00';
mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = 'SYSTEM';
mysql> SELECT @@system_time_zone;
+--------------------+
| @@system_time_zone |
+--------------------+
| EST |
+--------------------+
mysql> SELECT col, UNIX_TIMESTAMP[col] FROM dt ORDER BY id;
+---------------------+---------------------+
| col | UNIX_TIMESTAMP[col] |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 1577891410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
| 2020-01-01 10:10:10 | 1577891410 |
| 2020-01-01 04:40:10 | 1577871610 |
| 2020-01-01 18:10:10 | 1577920210 |
+---------------------+---------------------+
mysql> SELECT col, UNIX_TIMESTAMP[col] FROM ts ORDER BY id;
+---------------------+---------------------+
| col | UNIX_TIMESTAMP[col] |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 1577891410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
| 2020-01-01 05:10:10 | 1577873410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
+---------------------+---------------------+
8. Tương tự, đối với các giá trị được chỉ định là các chuỗi bao gồm các phân định phần thời gian, việc chỉ định hai chữ số trong giờ, phút hoặc giá trị thứ hai là không cần thiết nhỏ hơn mysql> CREATE TABLE ts [
-> id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> col TIMESTAMP NOT NULL
-> ] AUTO_INCREMENT = 1;
mysql> CREATE TABLE dt [
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> col DATETIME NOT NULL
-> ] AUTO_INCREMENT = 1;
mysql> SET @@time_zone = 'SYSTEM';
mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = '+00:00';
mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = 'SYSTEM';
mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = '+00:00';
mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = 'SYSTEM';
mysql> SELECT @@system_time_zone;
+--------------------+
| @@system_time_zone |
+--------------------+
| EST |
+--------------------+
mysql> SELECT col, UNIX_TIMESTAMP[col] FROM dt ORDER BY id;
+---------------------+---------------------+
| col | UNIX_TIMESTAMP[col] |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 1577891410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
| 2020-01-01 10:10:10 | 1577891410 |
| 2020-01-01 04:40:10 | 1577871610 |
| 2020-01-01 18:10:10 | 1577920210 |
+---------------------+---------------------+
mysql> SELECT col, UNIX_TIMESTAMP[col] FROM ts ORDER BY id;
+---------------------+---------------------+
| col | UNIX_TIMESTAMP[col] |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 1577891410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
| 2020-01-01 05:10:10 | 1577873410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
+---------------------+---------------------+
6. '2015-07-21'
0 giống như '2015-07-21'
1.Các giá trị được chỉ định là số nên dài 6, 8, 12 hoặc 14 chữ số. Nếu một số dài 8 hoặc 14 chữ số, nó được cho là ở định dạng
mysql> SELECT TIMESTAMP'2012^12^31 11*30*45';
+--------------------------------+
| TIMESTAMP'2012^12^31 11*30*45' |
+--------------------------------+
| 2012-12-31 11:30:45 |
+--------------------------------+
1 row in set, 1 warning [0.00 sec]
mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 4095
Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at
row 1 is deprecated. Prefer the standard '-'.
1 row in set [0.00 sec]
8 hoặc mysql> SELECT TIMESTAMP'2012!-12-31 11:30:45';
+----------------------------------+
| TIMESTAMP'2012!-12-31 11:30:45' |
+----------------------------------+
| 2012-12-31 11:30:45 |
+----------------------------------+
1 row in set, 1 warning [0.00 sec]
mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 4095
Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45'
at row 1 is deprecated. Prefer the standard '-'.
1 row in set [0.00 sec]
mysql> SELECT TIMESTAMP'2012-12-31 11:30:45';
+---------------------------------+
| TIMESTAMP'2012-12-31 11:30:45' |
+---------------------------------+
| 2012-12-31 11:30:45 |
+---------------------------------+
1 row in set, 1 warning [0.00 sec]
mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 4096
Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45'
at row 1 is superfluous and is deprecated. Please remove.
1 row in set [0.00 sec]
mysql> SELECT TIMESTAMP'2012-12-31 11:30:45';
+--------------------------------+
| TIMESTAMP'2012-12-31 11:30:45' |
+--------------------------------+
| 2012-12-31 11:30:45 |
+--------------------------------+
1 row in set [0.00 sec]
5 và năm được đưa ra bởi 4 chữ số đầu tiên. Nếu số dài 6 hoặc 12 chữ số, nó được cho là ở định dạng mysql> SELECT TIMESTAMP'2012^12^31 11*30*45';
+--------------------------------+
| TIMESTAMP'2012^12^31 11*30*45' |
+--------------------------------+
| 2012-12-31 11:30:45 |
+--------------------------------+
1 row in set, 1 warning [0.00 sec]
mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 4095
Message: Delimiter '^' in position 4 in datetime value '2012^12^31 11*30*45' at
row 1 is deprecated. Prefer the standard '-'.
1 row in set [0.00 sec]
9 hoặc mysql> SELECT TIMESTAMP'2012!-12-31 11:30:45';
+----------------------------------+
| TIMESTAMP'2012!-12-31 11:30:45' |
+----------------------------------+
| 2012-12-31 11:30:45 |
+----------------------------------+
1 row in set, 1 warning [0.00 sec]
mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 4095
Message: Delimiter '!' in position 4 in datetime value '2012!-12-31 11:30:45'
at row 1 is deprecated. Prefer the standard '-'.
1 row in set [0.00 sec]
mysql> SELECT TIMESTAMP'2012-12-31 11:30:45';
+---------------------------------+
| TIMESTAMP'2012-12-31 11:30:45' |
+---------------------------------+
| 2012-12-31 11:30:45 |
+---------------------------------+
1 row in set, 1 warning [0.00 sec]
mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 4096
Message: Delimiter ' ' in position 11 in datetime value '2012-12-31 11:30:45'
at row 1 is superfluous and is deprecated. Please remove.
1 row in set [0.00 sec]
mysql> SELECT TIMESTAMP'2012-12-31 11:30:45';
+--------------------------------+
| TIMESTAMP'2012-12-31 11:30:45' |
+--------------------------------+
| 2012-12-31 11:30:45 |
+--------------------------------+
1 row in set [0.00 sec]
6 và năm được đưa ra bởi 2 chữ số đầu tiên. Các số không phải là một trong những độ dài này được giải thích như thể được đệm với số không dẫn đến chiều dài gần nhất. Các giá trị được chỉ định là chuỗi không giới hạn được giải thích theo độ dài của chúng. Đối với một chuỗi dài 8 hoặc 14 ký tự, năm được cho là được đưa ra bởi 4 ký tự đầu tiên. Mặt khác, năm được cho là được đưa ra bởi 2 ký tự đầu tiên. Chuỗi được giải thích từ trái sang phải để tìm năm, tháng, ngày, giờ, phút và giá trị thứ hai, cho nhiều phần như hiện diện trong chuỗi. Điều này có nghĩa là bạn không nên sử dụng các chuỗi có ít hơn 6 ký tự. Ví dụ: nếu bạn chỉ định '2015-07-21'
6, nghĩ rằng đại diện cho tháng 3 năm 1999, MySQL đã chuyển đổi nó thành giá trị ngày của Zero Zero. Điều này xảy ra vì giá trị năm và tháng là '2015-07-21'
7 và '2015-07-21'
8, nhưng phần ngày hoàn toàn bị thiếu. Tuy nhiên, bạn có thể chỉ định rõ ràng giá trị bằng 0 để biểu thị các bộ phận tháng hoặc ngày bị thiếu. Ví dụ: để chèn giá trị '2015-07-21'
9, sử dụng '20150721'
0.“zero” date value. This occurs because the year and month values are '2015-07-21'
7 and '2015-07-21'
8, but the day part is completely missing. However, you can explicitly specify a value of zero to represent missing month or day parts. For example, to insert the
value '2015-07-21'
9, use '20150721'
0.
MySQL nhận ra các giá trị
{ d 'str' }
{ t 'str' }
{ ts 'str' }
2 trong các định dạng này:Như một chuỗi ở định dạng
'20150721'
2. Bạn cũng có thể sử dụng một trong các cú pháp thư giãn sau đây của người Viking:'20150721'
3,'20150721'
4,'20150721'
5,'20150721'
6 hoặc'20150721'
7. Ở đây'20150721'
8 đại diện cho ngày và có thể có giá trị từ 0 đến 34.“relaxed” syntaxes:'20150721'
3,'20150721'
4,'20150721'
5,'20150721'
6, or'20150721'
7. Here'20150721'
8 represents days and can have a value from 0 to 34.Là một chuỗi không có dấu phân cách ở định dạng
'20150721'
9, với điều kiện là nó có ý nghĩa như một thời gian. Ví dụ,
00 được hiểu là{ d 'str' } { t 'str' } { ts 'str' }
01, nhưng{ d 'str' } { t 'str' } { ts 'str' }
02 là bất hợp pháp [nó có phần phút vô nghĩa] và trở thành{ d 'str' } { t 'str' } { ts 'str' }
03.{ d 'str' } { t 'str' } { ts 'str' }
Như một số ở định dạng
04, với điều kiện là nó có ý nghĩa như một thời gian. Ví dụ,{ d 'str' } { t 'str' } { ts 'str' }
05 được hiểu là{ d 'str' } { t 'str' } { ts 'str' }
01. Các định dạng thay thế sau đây cũng được hiểu:{ d 'str' } { t 'str' } { ts 'str' }
07,{ d 'str' } { t 'str' } { ts 'str' }
08 hoặc{ d 'str' } { t 'str' } { ts 'str' }
04.{ d 'str' } { t 'str' } { ts 'str' }
Một phần giây phân đoạn được ghi nhận trong các định dạng thời gian
{ d 'str' }
{ t 'str' }
{ ts 'str' }
10, { d 'str' }
{ t 'str' }
{ ts 'str' }
11, { d 'str' }
{ t 'str' }
{ ts 'str' }
12 và { d 'str' }
{ t 'str' }
{ ts 'str' }
13, trong đó { d 'str' }
{ t 'str' }
{ ts 'str' }
14 là phần phân số trong độ chính xác của micro giây [6 chữ số]. Phần phân số phải luôn luôn được tách ra khỏi thời gian còn lại bằng một điểm thập phân; Không có phân đoạn phân đoạn nào khác được công nhận. Để biết thông tin về hỗ trợ giây phân đoạn trong MySQL, xem Phần & NBSP; 11.2.6, Phần giây phân đoạn trong các giá trị thời gian.Đối với các giá trị
{ d 'str' }
{ t 'str' }
{ ts 'str' }
2 được chỉ định là các chuỗi bao gồm dấu phân cách phần thời gian, việc chỉ định hai chữ số trong giờ, phút hoặc giây là không cần thiết nhỏ hơn mysql> CREATE TABLE ts [
-> id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> col TIMESTAMP NOT NULL
-> ] AUTO_INCREMENT = 1;
mysql> CREATE TABLE dt [
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> col DATETIME NOT NULL
-> ] AUTO_INCREMENT = 1;
mysql> SET @@time_zone = 'SYSTEM';
mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = '+00:00';
mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = 'SYSTEM';
mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = '+00:00';
mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = 'SYSTEM';
mysql> SELECT @@system_time_zone;
+--------------------+
| @@system_time_zone |
+--------------------+
| EST |
+--------------------+
mysql> SELECT col, UNIX_TIMESTAMP[col] FROM dt ORDER BY id;
+---------------------+---------------------+
| col | UNIX_TIMESTAMP[col] |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 1577891410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
| 2020-01-01 10:10:10 | 1577891410 |
| 2020-01-01 04:40:10 | 1577871610 |
| 2020-01-01 18:10:10 | 1577920210 |
+---------------------+---------------------+
mysql> SELECT col, UNIX_TIMESTAMP[col] FROM ts ORDER BY id;
+---------------------+---------------------+
| col | UNIX_TIMESTAMP[col] |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 1577891410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
| 2020-01-01 05:10:10 | 1577873410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
+---------------------+---------------------+
6. { d 'str' }
{ t 'str' }
{ ts 'str' }
17 giống như { d 'str' }
{ t 'str' }
{ ts 'str' }
18.Bắt đầu với MySQL 8.0.19, bạn có thể chỉ định phần bù múi giờ khi chèn các giá trị
{ d 'str' }
{ t 'str' }
{ ts 'str' }
4 và { d 'str' }
{ t 'str' }
{ ts 'str' }
3 vào bảng. Phần bù được nối vào phần thời gian của một bản theo nghĩa đen, không có không gian nội bào và sử dụng cùng một định dạng được sử dụng để đặt biến hệ thống { d 'str' }
{ t 'str' }
{ ts 'str' }
21, với các ngoại lệ sau:
Đối với các giá trị giờ dưới 10, cần có số 0 hàng đầu.
Giá trị
22 bị từ chối.{ d 'str' } { t 'str' } { ts 'str' }
Các tên múi giờ như
23 và{ d 'str' } { t 'str' } { ts 'str' }
24 không thể được sử dụng;{ d 'str' } { t 'str' } { ts 'str' }
25 cũng không thể được sử dụng trong bối cảnh này.{ d 'str' } { t 'str' } { ts 'str' }
Giá trị được chèn không được có số 0 cho phần tháng, phần ngày hoặc cả hai phần. Điều này được thực thi bắt đầu với MySQL 8.0.22, bất kể cài đặt chế độ SQL máy chủ.
Ví dụ này minh họa việc chèn các giá trị DateTime với múi giờ bù vào các cột
{ d 'str' }
{ t 'str' }
{ ts 'str' }
4 và { d 'str' }
{ t 'str' }
{ ts 'str' }
3 bằng các cài đặt { d 'str' }
{ t 'str' }
{ ts 'str' }
21 khác nhau, sau đó truy xuất chúng:mysql> CREATE TABLE ts [
-> id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> col TIMESTAMP NOT NULL
-> ] AUTO_INCREMENT = 1;
mysql> CREATE TABLE dt [
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> col DATETIME NOT NULL
-> ] AUTO_INCREMENT = 1;
mysql> SET @@time_zone = 'SYSTEM';
mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = '+00:00';
mysql> INSERT INTO ts [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = 'SYSTEM';
mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = '+00:00';
mysql> INSERT INTO dt [col] VALUES ['2020-01-01 10:10:10'],
-> ['2020-01-01 10:10:10+05:30'], ['2020-01-01 10:10:10-08:00'];
mysql> SET @@time_zone = 'SYSTEM';
mysql> SELECT @@system_time_zone;
+--------------------+
| @@system_time_zone |
+--------------------+
| EST |
+--------------------+
mysql> SELECT col, UNIX_TIMESTAMP[col] FROM dt ORDER BY id;
+---------------------+---------------------+
| col | UNIX_TIMESTAMP[col] |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 1577891410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
| 2020-01-01 10:10:10 | 1577891410 |
| 2020-01-01 04:40:10 | 1577871610 |
| 2020-01-01 18:10:10 | 1577920210 |
+---------------------+---------------------+
mysql> SELECT col, UNIX_TIMESTAMP[col] FROM ts ORDER BY id;
+---------------------+---------------------+
| col | UNIX_TIMESTAMP[col] |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 1577891410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
| 2020-01-01 05:10:10 | 1577873410 |
| 2019-12-31 23:40:10 | 1577853610 |
| 2020-01-01 13:10:10 | 1577902210 |
+---------------------+---------------------+
Phần bù không được hiển thị khi chọn giá trị DateTime, ngay cả khi một cái được sử dụng khi chèn nó.
Phạm vi của các giá trị bù được hỗ trợ là
{ d 'str' }
{ t 'str' }
{ ts 'str' }
29 đến { d 'str' }
{ t 'str' }
{ ts 'str' }
30, bao gồm.Các văn bản DateTime bao gồm độ lệch múi giờ được chấp nhận làm giá trị tham số bằng các câu lệnh đã chuẩn bị.