首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以将MySQL配置为将时间戳值作为UNIXTIMESTAMP返回?

问是否可以将MySQL配置为将时间戳值作为UNIXTIMESTAMP返回?
EN

Stack Overflow用户
提问于 2013-03-20 00:36:59
回答 3查看 29关注 0票数 1

是否可以将MySQL配置为在默认情况下将时间戳值作为UNIXTIMESTAMP返回,而不是在SELECT语句中强制转换每一列?

EN

回答 3

Stack Overflow用户

发布于 2013-03-20 00:43:33

MySQL有一个将日期转换为unix时间戳的函数。

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp

代码语言:javascript
复制
mysql> SELECT UNIX_TIMESTAMP();
        -> 1196440210
mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
        -> 1196440219
票数 1
EN

Stack Overflow用户

发布于 2013-03-20 00:43:51

您不能在MySQL配置中执行此操作。

你可以在应用程序级别上做到这一点-例如,在PHP中,你可以使用mysqli_result::fetch_fields()方法来检测时间戳类型并转换它,其他连接器也会有类似的方法。

或者,您可以按照建议,对时间戳列使用UNIX_TIMESTAMP()函数。

票数 0
EN

Stack Overflow用户

发布于 2013-03-20 00:58:21

听起来您似乎想要相同数据的不同视图:

代码语言:javascript
复制
mysql> select * from t;
+------+---------------------+
| data | ts                  |
+------+---------------------+
| foo  | 2013-03-19 16:54:45 |
+------+---------------------+
1 row in set (0.00 sec)

mysql> select data, unix_timestamp(ts) from t;
+------+--------------------+
| data | unix_timestamp(ts) |
+------+--------------------+
| foo  |         1363712085 |
+------+--------------------+
1 row in set (0.00 sec)

mysql> create view tv (data, time_t) as select data, unix_timestamp(ts) from t;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from tv;
+------+------------+
| data | time_t     |
+------+------------+
| foo  | 1363712085 |
+------+------------+
1 row in set (0.00 sec)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15505303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档