php求数据库中比某时间大的所有记录

这个时间字段是字符段形式在数据库里面存着,如:2016-10-25 21:20:25

我怎么写查询语查询所有大于2016-11-11 13:00:00点以事创建的记录。

阅读 3.6k
5 个回答

$sql = 'select *from table where created_at>"2016-11-11 13:00:00";'

Mysql在比较两种不同数据类型时,第一步是将他们转化为同一种类型,然后在比较。Date和String在比较的时候,一律转为Date类型,字符串"2016-11-11 13:00:00"转成Date也是同样的值,可以直接比较。

select DATE_FORMAT( '2016-11-11 13:00:00','%Y-%m-%d %H:%i:%s');

直接写大于也可以的吧

如果同为时间类型,直接使用比较符比较即可;如果一个为字符串,一个为时间,那么则将字符串转换为时间类型,直接比较即可,如下:

时间字段column_date = 2016-10-25 21:20:25;

SELECT * FROM the_day WHERE DATE_FORMAT(column_date, '%Y-%m-%d %H:%i:%s')>'2016-11-11 13:00:00';

select * from table where UNIX_TIMESTAMP('create_time')>$timestamp
因为是unix时间,仅限1970-01-01后的时间

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题