sql中时间以5分钟,半个小时,任意间隔分组
来源:互联网 发布:手机维棠软件 编辑:程序博客网 时间:2024/06/06 12:35
开发中遇到过问题就是对时间以半个小时分钟分组,如统计08:00-08:30的人数,08:30-09:00的人数,貌似sql中没有这样的函数吧,直接从数据库里查出来,在java里分组也太low了吧
想到方法1 自定义函数,自己实现时间的半个小时转换,统计时调用函数
CREATE FUNCTION `date_half_hour_format`(in_date TIMESTAMP) RETURNS TIMESTAMPBEGINDECLARE 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 学过c语言更清楚c语言创建时间都是一个long的时间戳,可以对时间做除法运算,就是时间long的值除以30*60,这样就能得出半个小时的时间了,mysql中有函数unix_timestamp获取long的时间,从long转date的form_unixtime
SELECT FROM_UNIXTIME((UNIX_TIMESTAMP(CURRENT_TIMESTAMP) DIV 1800)*1800)
这样就可以按任意时间分组了
阅读全文
0 0
- sql中时间以5分钟,半个小时,任意间隔分组
- 获取当前时间前半个小时和后半个小时的SQL代码
- 为什么讲座时间在通知中提前了半个小时
- Oracle日期中分钟、小时间隔的计算方法
- 数据库时间按天/小时/分钟来进行分组
- sql 获取 时间 小时 分钟 秒
- PL/SQL 按小时间隔生成一年的时间数据
- 求两个日期时间的差 以*天**小时**分钟
- sql 依据时间间隔分组,获取第一条数据
- 选择时间 小时:分钟
- sql 时间相减 得到 毫秒/秒/分钟/小时/天等
- 判断时间间隔两分钟
- 时间间隔分钟数计算
- sqlserver中如何实现时间按月,日,小时分组查询
- sqlserver中如何实现时间按月,日,小时分组查询
- 以15分钟为间隔,查询一个时间段内的时间
- vc 中添加 时间控件,尤其是小时分钟控件
- java ResultSet中时间(带小时分钟)读取
- Android AIDL使用详解
- 图片获取宽高以及调用,预加载设置
- Rxjava1.x实现定时器
- 二分查找
- SmartImageView重新实现网络图片的加载
- sql中时间以5分钟,半个小时,任意间隔分组
- 05_归并排序
- ViewPager与PagerAdapter深度解析
- 日志分析查看
- iOS 键盘收起异常的解决办法
- 泛型 类 ComboBoxItem<T>
- netty探索之入门前言篇
- ZipUtil压缩解压工具类——java
- 本文实例讲述了js实现window.open不被拦截的解决方法。