根据给定的日期范围检索表

时间:2016-04-15 09:52:43

标签: php mysql laravel

有一个名为" table_name"的表有4列

id    | salary | emp_id | joining_date
---------------------------------------------
1     | 2900   | ep4354 | 2016-04-15 11:15:18
----------------------------------------------
2     | 3001   | ep7354 | 2016-04-16 07:13:01
----------------------------------------------
3     | 4201   | ep7365 | 2016-04-17 08:19:32
----------------------------------------------

现在我想从2016-04-16到2016-04-17之间检索表格(忽略时间)。我在laravel中的查询是 -

$table = DB::select("SELECT * FROM table_name WHERE  date(joining_date)>= '".$from."' AND date(joining_date) <= '".$to."'"); 

其中$from$to是可变的,并且其值为$ from 2016-04-16和$ to = 2016-04-17。所以它应该显示两列的表格 -

id    | salary | emp_id | joining_date
----------------------------------------------
2     | 3001   | ep7354 | 2016-04-16 07:13:01
----------------------------------------------
3     | 4201   | ep7365 | 2016-04-17 08:19:32

查询工作正常,感谢Ankit Verma在提出问题后的几分钟内帮助了我。我刚刚把问题编辑给那些说“问题不明确”的人。在得到正确答案后仍然如此。

虽然如果你们有的话我想要更好的查询。

2 个答案:

答案 0 :(得分:1)

在Laravel中,使用以下代码:$ table = DB :: select(&#34; SELECT * FROM users WHERE date(created_at)=&#39;&#34;。$ from。&#34;& #39;&#34);

答案 1 :(得分:0)

您可以尝试使用mysql连接器

DATE(date) = $date