我想將datetime轉換爲時間戳,但mysql給了我警告,並且轉換後的值也是錯誤的。這裏是SQL查詢轉換MySQL日期時間到時間戳
UPDATE table1 A, table2 B SET B.date_added=UNIX_TIMESTAMP(STR_TO_DATE(A.date_added, '%M %d %Y %h:%i%p')) WHERE A.id=B.id;
警告
+---------+------+--------------------------------------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------------------------------------+
| Warning | 1411 | Incorrect datetime value: '2011-06-11 20:29:02' for function str_to_date |
+---------+------+--------------------------------------------------------------------------+
結果
+---------------------+---------------------+
| date_added | date_added |
+---------------------+---------------------+
| 2012-02-23 06:12:45 | 2012-12-23 19:08:33 |
+---------------------+---------------------+
我也嘗試下面的查詢,但它顯示了0000-00-00 00:00:00在時間戳字段。
UPDATE table1 A, table2 B SET B.date_added=UNIX_TIMESTAMP(A.date_added) WHERE A.id=B.id;
我也試過,但爲什麼有時間差異表A'2012-02-23 06:12:45' B'2012-12-23 21:01:57' – Maximus
有一些奇怪的東西時區和FROM_UNIXTIME,請參閱http://stackoverflow.com/a/17128732/20774以獲取解釋 –