本节课我们要单独学习一下时间的所有查询方式,包括传统式、快捷方式和固定查询等。

一.传统方式

1. 可以使用>、<、>=、<=来筛选匹配时间的数据;

Db::name('user')->where('create_time', '>', '2018-1-1')->select();

1. 可以使用 between 关键字来设置时间的区间;

Db::name('user')->where('create_time', 'between', ['2018-1-1',
'2019-12-31'])->select();
Db::name('user')->where('create_time', 'not between', ['2018-1-1',
'2019-12-31'])->select();

二.快捷方式

1. 时间查询的快捷方法为 whereTime(),直接使用>、<、>=、<=;

Db::name('user')->whereTime('create_time', '>', '2018-1-1')->select();

2. 快捷方式也可以使用 between 和 not between;

Db::name('user')->whereBetween('create_time', ['2018-1-1',
'2019-12-31'])->select();

3. 还有一种快捷方式为:whereBetweenTime()和 whereNotBetweenTime();

Db::name('user')->whereBetweenTime('create_time', '2018-1-1',
'2019-12-31')->select();

4. 默认的大于>,可以省略;

Db::name('user')->whereTime('create_time', '2018-1-1')->select();

三.固定查询

1. 使用 whereYear 查询今年的数据、去年的数据和某一年的数据

Db::name('user')->whereYear('create_time')->select();
Db::name('user')->whereYear('create_time', 'last year')->select();
Db::name('user')->whereYear('create_time', '2016')->select();

2. 使用 whereMonth 查询当月的数据、上月的数据和某一个月的数据;

Db::name('user')->whereMonth('create_time')->select();
Db::name('user')->whereMonth('create_time', 'last month')->select();
Db::name('user')->whereMonth('create_time', '2016-6')->select();

3. 使用 whereDay 查询今天的数据、昨天的数据和某一个天的数据;

Db::name('user')->whereDay('create_time')->select();
Db::name('user')->whereDay('create_time', 'last day')->select();
Db::name('user')->whereDay('create_time', '2016-6-27')->select();

四.其它查询

1. 查询指定时间的数据,比如两小时内的;

Db::name('user')->whereTime('create_time', '-2 hours')->select();

2. 查询两个时间字段时间有效期的数据,比如会员开始到结束的期间;

Db::name('user')->whereBetweenTimeField('start_time',
'end_time')->select();

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐