如果一個字串或數字,即使沒有任何分隔符,格式為YYYYMMDDHHMMSS或YYMMDDHHMMSS在提供日期時有意義,那麼MySQL將該字串解釋為有效日期。
給出了有效日期和無效日期的範例 -
mysql> Select Timestamp(20171022040536); +---------------------------+ | Timestamp(20171022040536) | +---------------------------+ | 2017-10-22 04:05:36 | +---------------------------+ 1 row in set (0.00 sec) mysql> Select Timestamp('20171022040536'); +-----------------------------+ | Timestamp('20171022040536') | +-----------------------------+ | 2017-10-22 04:05:36 | +-----------------------------+ 1 row in set (0.00 sec) mysql> Select Timestamp('171022040536'); +---------------------------+ | Timestamp('171022040536') | +---------------------------+ | 2017-10-22 04:05:36 | +---------------------------+ 1 row in set (0.00 sec)
上面的查詢顯示了有效字串以及數字的範例,MySQL 可以將其解釋為日期值。
mysql> Select Timestamp('20171022048536'); +-----------------------------+ | Timestamp('20171022048536') | +-----------------------------+ | NULL | +-----------------------------+ 1 row in set, 1 warning (0.00 sec)
以上查詢是無效字串的範例。 MySQL 傳回 NULL,因為字串在一分鐘內具有錯誤值 (85)。
mysql> Select Timestamp('20171322040536'); +-----------------------------+ | Timestamp('20171322040536') | +-----------------------------+ | NULL | +-----------------------------+ 1 row in set, 1 warning (0.00 sec)
在上面的查詢中,MySQL 傳回 NULL,因為字串一個月的值 (13) 是錯誤的。
以上是MySQL 如何將沒有分隔符號的數字和字串解釋為日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!