这UPDATE test set ts = date_format('%Y-%m-%dT%H:%i:%s.%fZ','+05:30', ts);
应该这样做。
cr> create table test(ts timestamp);
CREATE OK, 1 row affected (0.089 sec)
cr> insert into test values('2017-06-30T02:21:20');
INSERT OK, 1 row affected (0.005 sec)
cr> select date_format(ts) from test;
+-----------------------------+
| date_format(ts) |
+-----------------------------+
| 2017-06-30T02:21:20.000000Z |
+-----------------------------+
SELECT 1 row in set (0.004 sec)
cr> UPDATE test set ts = date_format('%Y-%m-%dT%H:%i:%s.%fZ','+05:30', ts);
UPDATE OK, 1 row affected (0.006 sec)
cr> select date_format(ts) from test;
+-----------------------------+
| date_format(ts) |
+-----------------------------+
| 2017-06-30T07:51:20.000000Z |
+-----------------------------+
SELECT 1 row in set (0.004 sec)
`