CURRENT_TIMESTAMP в MySql обновляет таблицу с неправильным форматом - PullRequest
0 голосов
/ 09 июля 2020

У меня есть запрос на обновление в моем java приложении:

update STAGE_TBL SET LAST_UPDATE_DTTM = CURRENT_TIMESTAMP where ID = 8

Я получаю LAST_UPDATE_DTTM как 2020-07-08-04.15.37 +0530 CST, но мне это нужно в 2020-10-08 08:06:53.812136 (YYYY-MM-DD HH:MM:SS:ss:Ss) Формат EST.

Как это сделать?

1 Ответ

1 голос
/ 09 июля 2020

Вы пробовали использовать что-то вроде CURRENT_TIMESTAMP(6)? Это должно дать вам метку времени в желаемом формате. Дополнительную информацию о функции CURRENT_TIMESTAMP можно найти в этом сообщении блога или в MYSQL DOC .

Чтобы преобразовать метку времени в EST, вы можете использовать следующее:

CONVERT_TZ( UTC_TIMESTAMP, '+0:00', '-4:00');

В качестве альтернативы:

CONVERT_TZ( UTC_TIMESTAMP, 'UTC', 'EST');

Вместо CURRENT_TIMESTAMP. Для получения дополнительной информации о функции MYSQL CONVERT_TZ go здесь .

Здесь вы используете метку времени MYSQLs UT C, чтобы получить метку времени за 4 часа до UT C time.

Чтобы второй метод работал, вам нужно загрузить таблицу часовых поясов в mysql:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

Вы можете найти дополнительную информацию о том, как загрузить таблицы часовых поясов в MYSQL в разных операционных системах в этом ответ .

...