一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - Sql Server - sql中時(shí)間以5分鐘半個(gè)小時(shí)任意間隔分組的實(shí)現(xiàn)方法

sql中時(shí)間以5分鐘半個(gè)小時(shí)任意間隔分組的實(shí)現(xiàn)方法

2020-05-29 16:04很叼么 Sql Server

這篇文章主要介紹了sql中時(shí)間以5分鐘半個(gè)小時(shí)任意間隔分組的實(shí)現(xiàn)方法,在文中給大家提到了sql server時(shí)間查詢(xún)的代碼,需要的朋友可以參考下

開(kāi)發(fā)中遇到過(guò)問(wèn)題就是對(duì)時(shí)間以半個(gè)小時(shí)分鐘分組,如統(tǒng)計(jì)08:00-08:30的人數(shù),08:30-09:00的人數(shù),貌似sql中沒(méi)有這樣的函數(shù)吧,直接從數(shù)據(jù)庫(kù)里查出來(lái),在java里分組也太low了吧

想到方法1 自定義函數(shù),自己實(shí)現(xiàn)時(shí)間的半個(gè)小時(shí)轉(zhuǎn)換,統(tǒng)計(jì)時(shí)調(diào)用函數(shù)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE FUNCTION `date_half_hour_format`(in_date TIMESTAMP) RETURNS TIMESTAMP
BEGIN
 DECLARE out_date TIMESTAMP;
 DECLARE s_date VARCHAR(255);
 DECLARE s_minute VARCHAR(2);
 DECLARE int_minute INT;
 
 SET s_minute = SUBSTRING(in_date, 15, 2);
 SET int_minute = CAST(s_minute AS SIGNED);
 
 IF int_minute <= 29 THEN
  SET int_minute = 0;
  SET s_date = CONCAT(LEFT(in_date, 14),'0',int_minute);
 ELSE
  SET int_minute = 30;
  SET s_date = CONCAT(LEFT(in_date, 14),int_minute);
 END IF;
  
 SET out_date = STR_TO_DATE(s_date,'%Y-%m-%d %H:%i');
 
 RETURN out_date;
  END

方法2 學(xué)過(guò)c語(yǔ)言更清楚c語(yǔ)言創(chuàng)建時(shí)間都是一個(gè)long的時(shí)間戳,可以對(duì)時(shí)間做除法運(yùn)算,就是時(shí)間long的值除以30*60,這樣就能得出半個(gè)小時(shí)的時(shí)間了,mysql中有函數(shù)unix_timestamp獲取long的時(shí)間,從long轉(zhuǎn)date的form_unixtime

?
1
SELECT FROM_UNIXTIME((UNIX_TIMESTAMP(CURRENT_TIMESTAMP) DIV 1800)*1800)

這樣就可以按任意時(shí)間分組了

ps:SQL Server 時(shí)間查詢(xún)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
select dateadd(dd,-day(getdate()) + 1,getdate()) '當(dāng)月起始時(shí)間'  //查詢(xún)當(dāng)月起始時(shí)間
 
select dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) '當(dāng)月結(jié)束時(shí)間'  //查詢(xún)當(dāng)月結(jié)束時(shí)間
 
select dateadd(dd,-day(dateadd(month,-1,getdate()))+1,dateadd(month,-1,getdate())) '上月起始時(shí)間'  //查詢(xún)上月起始時(shí)間
 
select dateadd(dd,-day(getdate()),getdate()) '上月結(jié)束時(shí)間'  //查詢(xún)上月結(jié)束時(shí)間
 
select dateadd(quarter,datediff(quarter,0,getdate())-1,0) as '當(dāng)前季度的上個(gè)季度初'  //查詢(xún)當(dāng)前季度的上個(gè)季度開(kāi)始時(shí)間
 
select dateadd(quarter,datediff(quarter,0,getdate()),-1) as '當(dāng)前季度的上個(gè)季度末'  //查詢(xún)當(dāng)前季度的上個(gè)季度結(jié)束時(shí)間
 
select dateadd(quarter,datediff(quarter,0,getdate()),0) as '當(dāng)前季度的第一天'  //查詢(xún)當(dāng)前季度起始時(shí)間
 
select dateadd(quarter,1+datediff(quarter,0,getdate()),-1) as '當(dāng)前季度的最后一天'  //查詢(xún)當(dāng)前季度結(jié)束時(shí)間
 
select dateadd(quarter,1+datediff(quarter,0,getdate()),0) as '當(dāng)前季度的下個(gè)季度初'  //查詢(xún)當(dāng)前季度下個(gè)季度開(kāi)始時(shí)間
 
select dateadd(quarter,2+datediff(quarter,0,getdate()),-1) as '當(dāng)前季度的下個(gè)季度末'  //查詢(xún)當(dāng)前季度下個(gè)季度結(jié)束時(shí)間
 
select dateadd(year,datediff(year,0,DATEADD(year,-1,getdate())),0) '去年的第一天'  //去年的第一天
 
select dateadd(year,datediff(year,0,getdate()),-1) '去年最后一天'  //去年的最后一天
 
select dateadd(year, datediff(year, 0, getdate()), 0) '當(dāng)年的第一天'  //當(dāng)年的第一天
 
select dateadd(year,datediff(year,0,dateadd(year,1,getdate())),-1) '當(dāng)年的最后一天'  //當(dāng)年的最后一天

總結(jié)

以上所述是小編給大家介紹的sql中時(shí)間以5分鐘半個(gè)小時(shí)任意間隔分組的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

原文鏈接:https://blog.csdn.net/Hendiaome/article/details/72457506

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 桃乃木香奈作品在线观看 | 国产精品久久久久久久久久久久久久 | 国产精品va在线观看手机版 | 婷婷久久综合 | 欧美成人精品第一区二区三区 | 久久影院中文字幕 | 日本高清在线不卡 | 女人pp被扒开流水了 | 四虎永久免费地址 | 学校捏奶揉下面污文h | 91免费精品国自产拍在线可以看 | 日韩高清一区二区三区不卡 | 色播影音先锋 | tobu8中国在线观看免费视频 | 日韩视频免费一区二区三区 | 99热久久这里只精品国产www | 国产精品亚洲片夜色在线 | 国产一区二区在线免费观看 | xxxxxx性受 | 国产成人福利美女观看视频 | 国产成人精视频在线观看免费 | 欧美精品亚洲精品日韩专区va | 扒开尿口| 久久学生精品国产自在拍 | 美女精品永久福利在线 | 日本一区二区精品88 | 日本韩国推理片免费观看网站 | 91porn最新地址 | fulao在线观看的 | 国产成人精品视频频 | 亚洲AV无码国产精品色在线看 | 国产 日韩 一区 | 亚洲成在人线视频 | 性关系免费视频 | 色琪琪原网站亚洲香蕉 | 精品国产欧美一区二区五十路 | 久久久96| 亚洲一卡2卡4卡5卡6卡残暴在线 | 91大神亚洲影视在线 | 亚洲国产第一区二区香蕉日日 | 国产免费看视频 |