具有动态WHERE时间戳的SQL查询

时间:2017-11-29 09:01:15

标签: php sql sql-timestamp

如何通过时间范围获取查询的这一部分?

表格示例:

  select * from tablename where timeregister between '2017-01-11' And '2017-01-30';

我怎样才能让timeregister成为过去7天? 我正在尝试这个:

select * from tablename where timeregister(NOW(), timeregister) <= 7;

2 个答案:

答案 0 :(得分:0)

试试这个......

<?php 
    $s_date = date('Y-m-d');
    $e_date = date('Y-m-d',strtotime('+7 days'));
    $sql = 'SELECT * FROM tablename WHERE DATE_FORMAT(timeregister, "%Y-%m-%d") BETWEEN "'.$s_date.'" AND "'.$e_date.'"';
?>

答案 1 :(得分:0)

您使用的是MSSQL还是MYSQL?如果是MSSQL则可以使用DATEADD函数。见下面的脚本:

SELECT * FROM table WHERE timeregister between DATEADD(DD,-7,GETDATE()) and GETDATE()