关闭MySQL中的时间戳格式

时间:2009-12-07 19:10:41

标签: mysql

我有很多时间戳列,我需要使用混合时区。用户时区设置为我用于前端的语言,因此我需要MySQL从select *返回unix时间戳。有没有办法在从MySQL时间戳列中获取数据时关闭自动格式化?

2 个答案:

答案 0 :(得分:4)

YYYY-MM-DD HH:MM:SS是MySQL中timestamp列的默认表示。我不相信你可以在全球范围内改变它。

两个选项:

  1. 不要执行SELECT *,而是执行SELECT *, UNIX_TIMESTAMP(your_timestamp_column) AS your_timestamp,这会在结果中添加一个Unix格式的your_timestamp列。

  2. 为每个执行相同操作的表格制作一个视图(CREATE VIEW),例如

    CREATE VIEW your_view AS
      SELECT *, UNIX_TIMESTAMP(your_timestamp_column) AS your_unix_timestamp
      FROM your_table;
    

    然后你可以做SELECT * FROM your_view;并获取你的Unix时间戳,而不会在查询中添加任何内容。

  3. 参考:UNIX_TIMESTAMP

答案 1 :(得分:1)

您可以将字段包装在UNIX_TIMESTAMP函数中,如下所示:

从your_table中选择UNIX_TIMESTAMP(your_timestamp_column);

有关此以及其他mysql数据和时间函数的更多信息,请参阅: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_unix-timestamp