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

Tại sao tôi nhận được kết quả đầu ra 0 (Zero) vào ngày chuyển đổi như '1965-05-15' thành TIMESTAMP?

Như chúng ta biết rằng với sự trợ giúp của hàm MySQL UNIX_TIMESTAMP, chúng ta có thể tạo ra số giây từ ngày / DateTime đã cho. Nhưng khi chúng tôi cố gắng chuyển đổi một ngày như '1965-05-15', nó sẽ đưa ra đầu ra là 0 (Zero) vì phạm vi của TIMESTAMP nằm giữa '1970-01-01 00:00:01' thành '2038-01- 19 08:44:07 '. Do đó, không thể chuyển đổi các giá trị ngày vượt quá phạm vi TIMESTAMP và sẽ luôn trả về 0 dưới dạng đầu ra.

Các ví dụ được đưa ra bên dưới -

mysql> Select UNIX_TIMESTAMP ('1965-05-15');
+----------------------------------------------+
| unix_timestamp('1965-05-15 05:04:30')        |
+----------------------------------------------+
|                                       0      |
+----------------------------------------------+
1 row in set (0.00 sec)

mysql> select UNIX_TIMESTAMP ('1970-05-15 05:04:30');
+----------------------------------------------+
| unix_timestamp('1970-05-15 05:04:30')        |
+----------------------------------------------+
|                                     11576070 |
+----------------------------------------------+
1 row in set (0.00 sec)