Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL中时间戳的比较_Mysql - Fatal编程技术网

MySQL中时间戳的比较

MySQL中时间戳的比较,mysql,Mysql,我的数据库中的时间戳采用以下格式: 2011-02-26T13:00:00-05:00 但是通过MySQL获取当前的时间戳时: SELECT current_timestamp(); 给了我一些格式像 2011-02-26 13:05:00 我的最终目标是检查所有条目(每2天)并删除那些超过2天的条目,那么我如何将这些条目与2011-02-26T13:00:00-05:00时间戳和当前时间戳进行比较?听起来像是将日期(以首选格式)存储在基于字符的列中(VARCHAR等) 不要。这是a)糟糕

我的数据库中的时间戳采用以下格式:

2011-02-26T13:00:00-05:00
但是通过MySQL获取当前的时间戳时:

SELECT current_timestamp();
给了我一些格式像

2011-02-26 13:05:00

我的最终目标是检查所有条目(每2天)并删除那些超过2天的条目,那么我如何将这些条目与
2011-02-26T13:00:00-05:00
时间戳和当前时间戳进行比较?

听起来像是将日期(以首选格式)存储在基于字符的列中(
VARCHAR
等)

不要。这是a)糟糕的风格,b)你会遇到这样的问题。相反,请使用标准时间戳类型,如果在从数据库查询时需要特定的ISO格式,请相应地对其进行格式化

如果以本机格式存储时间,则不同日期之间的比较将变得微不足道。比较。

尝试:

SELECT DATE(`yourtimestamp`) FROM thetablename WHERE DATE(`yourtimestam`) < CURDATE() - INTERVAL 2 DAY;
从表名中选择日期(`yourtimestam`),其中DATE(`yourtimestam`)
这是有道理的,但我是一名初级程序员,负责一个更大项目的一小部分。我同意安德里的观点,最好从正确的数据类型开始。