Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào MySQL có thể diễn giải số và chuỗi, không có dấu phân cách, như một ngày tháng?

Nếu một chuỗi hoặc số, thậm chí không có bất kỳ dấu phân cách nào, ở định dạng YYYYMMDDHHMMSS hoặc YYMMDDHHMMSS có ý nghĩa vì ngày được cung cấp thì MySQL diễn giải chuỗi đó là ngày hợp lệ.

Các ví dụ được đưa ra cho các ngày hợp lệ cũng như không hợp lệ -

 mysql> Chọn Dấu thời gian (20171022040536); + --------------------------- + | Dấu thời gian (20171022040536) | + --------------------------- + | 2017-10-22 04:05:36 | + --------------------------- + 1 hàng trong bộ (0,00 giây) mysql> Chọn Dấu thời gian ('20171022040536'); + ----------------------------- + | Dấu thời gian ('20171022040536') | + ----------------------------- + | 2017-10-22 04:05:36 | + ----------------------------- + 1 hàng trong bộ (0,00 giây) mysql> Chọn Dấu thời gian ('171022040536'); + --------------------------- + | Dấu thời gian ('171022040536') | + --------------------------- + | 2017-10-22 04:05:36 | + --------------------------- + 1 hàng trong bộ (0,00 giây)  

Các truy vấn trên hiển thị các ví dụ về chuỗi hợp lệ cũng như số có thể được MySQL hiểu là giá trị ngày tháng.

 mysql> Chọn Dấu thời gian ('20171022048536'); + ----------------------------- + | Dấu thời gian ('20171022048536') | + ----------------------------- + | NULL | + ----------------------------- + 1 hàng được đặt, 1 cảnh báo (0,00 giây) 

Truy vấn trên là ví dụ cho chuỗi không hợp lệ. MySQL trả về NULL vì chuỗi có giá trị sai (85) trong một phút.

 mysql> Chọn Dấu thời gian ('20171322040536'); + ----------------------------- + | Dấu thời gian ('20171322040536') | + ----------------------------- + | NULL | + ----------------------------- + 1 hàng được đặt, 1 cảnh báo (0,00 giây) 

Trong truy vấn trên, MySQL trả về NULL vì chuỗi có giá trị sai (13) trong một tháng.