需求分析:假设现在有一个用户表,用户表里面有注册时间(datetime类型,yyyy-MM-dd mm:hh:ss格式)
我现在需要统计某一天用户的注册数量(也就是用yyyy-MM-dd类型查询),我们写出的sql可能是这样的
SELECT COUNT(*) FROM `config_info` where gmt_create = '2023-01-10'
但是很明显这样是得不到我们想要的数据的
解决方案一:使用like关键字对日期进行模糊查询(不推荐)
使用like关键字配合占位符,可以解决该问题,但是对日期使用like查询并不推荐
解决方案二:使用date函数(mysql)
mysql的date()函数可以获取传入的datetime 类型数据的date日期部分
效果如下
ps:SQL server中也有类似的函数,但是我没安装有sqlserver,就不演示了