因此,我正在从SQL DB查询特定的表。该表包含与日期相关的几列。 当我在表上使用Select查询时,结果显示如下,其中显示了一些别名/随机数而不是实际日期(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
答案 0 :(得分:0)
只需使用日期算术:
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开始的秒数。
答案 1 :(得分:-1)
好的,只需使用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