首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mysql Unix时间戳商店?

Mysql Unix时间戳商店?
EN

Stack Overflow用户
提问于 2011-09-02 01:13:52
回答 2查看 3.1K关注 0票数 0

我这里有点问题。我的数据库将unix时间戳存储为字符串2011-09-01 20:22:36,我需要它作为Unix时间戳###########,这样我就可以使用>然后的符号对其进行比较。但是,我也需要让它自动设置更新时间戳(ON UPDATE CURRENT TIMESTAMP),并有一个default of the timestamp ,这并不是很重要的原因,如果需要的话,我可以在PHP中这样做。

我如何做到这一点?timestamp现在是一个日期/时间组合字符串,而不是一个integre,所以我无法比较它?

我的比较字符串是

$sql = sprintf("SELECT nid, field_date_value, field_movie_location_value FROM content_type_mobile_event WHERE updated<'%s'", $vid);

万一有人想知道。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-02 01:16:23

使用UNIX_TIMESTAMP() function在查询中转换它。如果您必须将其与来自PHP的Unix时间戳进行比较,则允许MySQL在其末尾处理列的转换是最简单的。

代码语言:javascript
运行
复制
$sql = sprintf("SELECT nid, othercols FROM content_type_mobile_event WHERE UNIX_TIMESTAMP(updated) < '%s'", $vid);
票数 2
EN

Stack Overflow用户

发布于 2011-09-02 01:15:17

您可以将DATETIME列与诸如>或<之类的运算符进行比较,因此我不知道问题出在哪里。例如,您可以这样做:

代码语言:javascript
运行
复制
SELECT *
  FROM table
 WHERE your_column > NOW() - INTERVAL 2 HOUR;

如果您真的需要unix时间戳(您不应该,这是PHP用户的坏习惯),您可以使用函数UNIX_TIMESTAMP

代码语言:javascript
运行
复制
SELECT UNIX_TIMESTAMP(your_col)
  FROM table;

还可以使用FROM_UNIXTIME将unix时间戳转换为有效日期:

代码语言:javascript
运行
复制
SELECT *
  FROM table
 WHERE your_column > FROM_UNIXTIME($data)

如果我真的必须使用unix时间戳,我会使用它,但大多数情况下,您可以不使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7278329

复制
相关文章

相似问题

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