Интерпретация дат из результатов SQL-запросов - PullRequest
0 голосов
/ 12 июня 2019

Итак, я запрашиваю конкретную таблицу из базы данных SQL.Таблица содержит несколько столбцов, связанных с датой.Когда я использую запрос Выбрать в таблице, результаты отображаются, как показано ниже, где вместо фактических дат отображаются некоторые псевдонимы / случайные числа (F_CRTM и F_EDTM означают столбцы, в которых отображаются фактические даты).Может ли кто-нибудь помочь мне с тем, как получить фактическое значение, которое я ищу (в данном случае дату).Я пытался увидеть структуру таблицы, но, к сожалению, у меня нет доступа к этому.Поэтому я не имею ни малейшего представления, связано ли это с тем, как структурирована сама таблица, или я могу что-либо с этим поделать.

Результаты, которые я получаю, показаны ниже:

 F_SGRP          F_CRTM          F_EDTM
    1452759805  1452759805       1452759805
    1452759946  1452759946       1452759946
    1452759975  1452759975       1452759975
    1452760148  1452760148       1452761593
    1452760411  1452760411       1452761580
    1452761896  1452761896       1452761896
    1452761903  1452761903       1452761903

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Просто используйте арифметику даты:

select date_add(second, F_SGRP, '1970-01-01') as F_SGRP_DATETIME,
       date_add(second, F_CRTM, '1970-01-01') as F_CRTM_DATETIME,
       date_add(second, F_EDTM, '1970-01-01') as F_EDTM_DATETIME
from t;

Они выглядят как форматы даты и времени в стиле Unix, поэтому значение - это количество секунд, начиная с 1970-01-01.

0 голосов
/ 12 июня 2019

ОК, просто используйте from_unixtime для реализации вашего требования, примеры приведены ниже:

mysql> select from_unixtime(1452759805) as time;
+---------------------+
| time                |
+---------------------+
| 2016-01-14 16:23:25 |
+---------------------+
1 row in set (0.00 sec)

mysql> select date(from_unixtime(1452759805)) as date;
+------------+
| date       |
+------------+
| 2016-01-14 |
+------------+
1 row in set (0.00 sec)

Итак, ваш полный SQL может быть:

select
    date(from_unixtime(F_SGRP)) as F_SGRP_DATE,
    date(from_unixtime(F_CRTM)) as F_CRTM_DATE,
    date(from_unixtime(F_EDTM)) as F_EDTM_DATE
from
    your_table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...