thinkphp6.0学习笔记之数据库的时间查询

本文介绍了ThinkPHP6.0中进行时间查询的多种方法,包括传统方式如使用比较运算符和between关键字,快捷方式如whereTime(),以及固定查询如whereYear()和whereMonth()。此外,还探讨了其他查询方式,如查询特定时间段和时间有效性范围的数据。

一、传统方式

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

Db::table('表名')->where('create_time','>','2020.3.22')->select();

2、可以使用between关键字来设置时间的区间

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

二、快捷方式

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

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

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

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

3、还有一种快捷方式为whereBetweenTime()和whereNotBetweenTime()

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

4、默认是大于号

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

三、固定查询

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

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

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

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

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

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

四、其它查询

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

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

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

Db::name('表名')->whereBetweenTimeField('start_time', 'end_time')->select();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值