Max*_*mus 26 mysql datetime timestamp
我试图将datetime转换为时间戳,但mysql给我警告,并且转换后的值也是错误的.这是SQL查询
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;
Run Code Online (Sandbox Code Playgroud)
警告
+---------+------+--------------------------------------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------------------------------------+
| Warning | 1411 | Incorrect datetime value: '2011-06-11 20:29:02' for function str_to_date |
+---------+------+--------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
结果
+---------------------+---------------------+
| date_added | date_added |
+---------------------+---------------------+
| 2012-02-23 06:12:45 | 2012-12-23 19:08:33 |
+---------------------+---------------------+
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下查询,但它显示时间戳字段中的00:00:00.
UPDATE table1 A, table2 B SET B.date_added=UNIX_TIMESTAMP(A.date_added) WHERE A.id=B.id;
Run Code Online (Sandbox Code Playgroud)
Oma*_* S. 20
UPDATE table1 A, table2 B SET B.date_added=UNIX_TIMESTAMP(A.date_added) WHERE A.id=B.id;
UNIX_TIMESTAMP('2015-01-15 12:00:00');
足以将mysql日期时间转换为时间戳.
bon*_*igo 17
请试试这个:
UPDATE table1 A, table2 B
SET B.date_added = FROM_UNIXTIME(A.date_added)
WHERE A.id=B.id
Run Code Online (Sandbox Code Playgroud)
参考.您似乎对格式化日期stammp的方式存在问题.另请查看这篇文章:我应该使用字段'datetime'还是'timestamp'?
在 MySQL 5.5 上,这工作正常:
UPDATE `some_table`
SET `timestamp_col` = `datetime_col`
Run Code Online (Sandbox Code Playgroud)
与datetime_col类型和类型。DATETIMEtimestamp_colTIMESTAMP
即:不需要显式类型转换。
| 归档时间: |
|
| 查看次数: |
65986 次 |
| 最近记录: |