MySQL FROM_UNIXTIME () возвращает ноль со столбцом last_update файла sakila.actor - PullRequest
0 голосов
/ 04 октября 2018

Таблица акторов в примерной схеме salika определяет столбец last_update как метку времени.Я хочу визуализировать этот столбец, используя JSON_ARRAY в формате ISO8601.- Во-первых, это не должно быть отображением по умолчанию для JSON_ARRAY.

Из прочтения документации и комментариев на этом и других веб-сайтах выясняется, что ответом является использование FROM_UNXTIME с выходной маской, которая генерирует формат ISO8601.

К сожалению, FROM_UNIXTIME (), по-видимому, всегда возвращает NULL в моей базе данных

mysql> select current_timestamp();
+---------------------+
| current_timestamp() |
+---------------------+
| 2018-10-03 17:15:03 |
+---------------------+
1 row in set (0.00 sec)

mysql> select from_unixTime(current_timestamp())
-> ;
+------------------------------------+
| from_unixTime(current_timestamp()) |
+------------------------------------+
| NULL                               |
+------------------------------------+
1 row in set (0.00 sec)

mysql>

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

mysql -u root -p****** sys  <timezone_posix.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1146 (42S02) at line 1: Table 'sys.time_zone' doesn't exist

Конечно, я упустил что-то очевидное здесь ...

1 Ответ

0 голосов
/ 04 октября 2018

В конце концов это сработало для меня ...

select json_array("actor_id","first_name","last_name",DATE_FORMAT(convert_tz("last_update", @@session.time_zone, '+00:00'),'%Y-%m-%dT%T%fZ')) "json" from "sakila"."actor"

/

, что дает

 [
            1,
            "PENELOPE",
            "GUINESS",
            "2006-02-15T12:34:33000000Z"
        ],
        [
            2,
            "NICK",
            "WAHLBERG",
            "2006-02-15T12:34:33000000Z"
        ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...