Thinkphp
Allen 2022-10-23 17:06:54 4772 0 0 0 0
Thinkphp,Thinkphp笔记,Thinkphp6学习笔记08:13。数据库的时间查询,1.传统方式,2.快捷方式,3.固定查询,4.其它查询

13。数据库的时间查询

13。数据库的时间查询
1.传统方式
2.快捷方式
3.固定查询
4.其它查询
...
一.传统方式
1.可以使用>、<、>=、<=来筛选匹配时间的数据;
Db : :name('user')->where('create_time','>','2018-1-1')->select();

2.可以使用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.查询指定时间的数据,比如两小时内的(当前时间-2小时);
Db::name('user')->whereTime('create_time','-2 hours')->select();

2.查询两个时间字段时间有效期的数据,比如会员开始到结束的期间;
Db::name('user')->whereBetweenTimeField('start_time','end_time')->select();
...
$user = Db: : name( name:'user')->whereBetweenTimeField('create_time','update_time')->select();
实际sql语句:SELECT *FROM tp_user'WHERE create_time'<= 2019-12-06 2005:57'AND'update_time'>= 2019-12-06 20:05:57'


Tag: Thinkphp Thinkphp笔记
欢迎评论
未登录,
请先 [ 注册 ] or [ 登录 ]
(一分钟即可完成注册!)
返回首页     ·   返回[Thinkphp]   ·   返回顶部