sql查询本月数据,当天数据
生活随笔
收集整理的這篇文章主要介紹了
sql查询本月数据,当天数据
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
注意:請(qǐng)一定要看到最后!?
查詢本月數(shù)據(jù):
SELECT* FROM表名稱 WHEREDATE_FORMAT(字段名, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m') AND 條件1 AND 條件2查詢本月例子:
SELECT* FROMfire_alarm_event WHEREDATE_FORMAT(alarm_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m') AND is_deleted = 0 AND event_type = 1查詢當(dāng)日數(shù)據(jù)
SELECT* FROM表名稱 WHEREto_days(字段名稱) = to_days(now()) AND 條件1;查詢當(dāng)日數(shù)據(jù)例子
SELECTcount(*) FROMfire_alarm_event WHEREto_days(alarm_time) = to_days(now()) AND is_deleted = 0;查詢某個(gè)月的數(shù)據(jù)?
SELECT * FROM daq_alarm_device WHERE YEAR(alarm_time)='2022' AND MONTH(alarm_time)='11'?
查詢近30天每天最新的 一條數(shù)據(jù)
SELECTaa.* FROM(SELECT CONVERT(send_time,CHAR ( 10 )) datetemp,a.send_time FROMecoi_hydrology a WHEREDATEDIFF( str_to_date( NOW(), '%Y-%m-%d %H' ), a.send_time )<= 30) aa GROUP BYaa.datetemp?在程序中不建議用上述函數(shù),原因如下:
函數(shù)的使用會(huì)使sql不走索引,從而是性能下降,數(shù)據(jù)量大的時(shí)候,響應(yīng)時(shí)間過長(zhǎng)
建議使用where替代:
SELECT* FROMtable WHEREcreate_time > #{beginOfDay} and create_time < #{endOfDay}?java中獲取一天的開始時(shí)間和結(jié)束時(shí)間
首先得導(dǎo)入hutool的核心包依賴, 因?yàn)楂@取開始和結(jié)束時(shí)間用的hutool中的DateUtil工具類。
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-core</artifactId><version>5.7.6</version></dependency>獲取當(dāng)天的開始時(shí)間
DateTime beginOfDay = DateUtil.beginOfDay(new Date());獲取當(dāng)天的結(jié)束時(shí)間
DateTime endOfDay = DateUtil.endOfDay(new Date());?在這里獲取昨天的開始和結(jié)束時(shí)間需要結(jié)合Calendar和hutool一起使用
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//例如今天是 2021-07-29 16:55:45 //獲取昨天開始的時(shí)間 Date beginOfDay = DateUtil.beginOfDay(new Date()); Calendar c = Calendar.getInstance(); c.setTime(beginOfDay); c.add(Calendar.DAY_OF_MONTH,-1); Date yesterBeginDay = c.getTime(); String a = simpleDateFormat.format(yesterBeginDay); System.out.println(a);輸出結(jié)果:2021-07-28 00:00:00//獲取昨天結(jié)束的時(shí)間 Date endOfDay = DateUtil.endOfDay(new Date()); c.setTime(endOfDay); c.add(Calendar.DAY_OF_MONTH,-1); Date yesterEndDay = c.getTime(); String b = simpleDateFormat.format(yesterEndDay); System.out.println(b);輸出結(jié)果:2021-07-28 23:59:59如果對(duì)您有幫助,隨手點(diǎn)贊關(guān)注哦,謝謝!
總結(jié)
以上是生活随笔為你收集整理的sql查询本月数据,当天数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移相全桥的控制模型的建立和仿真
- 下一篇: 底层码农眼中的芯片