首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mysql查询格式问题

Mysql查询格式问题
EN

Stack Overflow用户
提问于 2016-03-17 05:43:14
回答 2查看 61关注 0票数 0

我有一个mysql查询来获取两个日期之间的数据:

代码语言:javascript
运行
复制
select * from `bookings` where `durationFrom`='$new_from_date' and  `durationTo` between '$new_from_date' and '$new_to_date' 

如何用以下方式编写上述查询?

代码语言:javascript
运行
复制
$this->db->select()
                 ->from('bookings')
                 ->where('durationTo',between $new_from_date and $new_to_date)
                 ->where('durationFrom',$new_from_date); 

我在用代码点火器..。

这是我的桌子:

我需要在给定的durationFrom和durationTo (用户输入的durationFrom和durationTo )之间选择数据。

如果用户选择了工期,从=2016-02-25,持续时间=2016-08-27,我需要得到所有的5行

如果用户选择了工期,从=2016-02-25和工期到=2016-05-27,我需要得到前3行

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-17 06:33:29

尝尝这个

代码语言:javascript
运行
复制
$this->db->select('*')
    ->from('bookings')
    ->where('durationFrom', $new_from_date)
    ->where("durationTo BETWEEN '".$new_from_date."' AND '".$new_to_date."'")

另一种选择

代码语言:javascript
运行
复制
$this->db->select('*')
    ->from('bookings')
    ->where('durationFrom', $new_from_date)
    ->where('durationTo >= ', $new_from_date)
    ->where('durationTo <= ', $new_to_date)

可以用感兴趣的列名替换select中的*。

票数 0
EN

Stack Overflow用户

发布于 2016-03-17 06:27:50

你可以这样做

代码语言:javascript
运行
复制
$where = "durationTo between "'.$new_from_date.'" AND "'.$new_to_date.'";
  $this->db->select('*')->from('bookings')->where('durationFrom',$new_from_date)->where($where); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36052507

复制
相关文章

相似问题

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