MariaDB convert_tz () (копирование данных путем преобразования часового пояса на лету) - PullRequest
0 голосов
/ 05 февраля 2020

Мы пытаемся скопировать данные из базы данных1 (DB1) в базу данных2 (DB2) во время выполнения. DB1 и DB2 находятся в двух разных часовых поясах, скажем, tz1 и tz2. Мы будем sh конвертировать столбец DB1 Time в tz2 при копировании на лету в DB2. Мы попытались использовать комбинацию convert_tz () и подзапроса, но не смогли заставить его работать. Будут оценены любые указатели в правильном направлении.

MariaDB версия 10.3.7

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020

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

0 голосов
/ 06 февраля 2020

Спасибо всем за ответы и голосование. Теперь мне удалось решить проблему в руках. Ниже запрос решен (не точный по понятным причинам):

insert into DB2.tb2 select C1,convert_tz(T1,'UTC','ASIA/SHANGHAI'), C2, C3 from DB1.tb1 where C1 = 'xxx';

...