ACCESS数据库时间应用之按时间段对字段进行分组
2017-06-22 07:40
232 查看
近期使用ACCESS数据库中,遇到一个需要对日期时间型字段进行分段分组的问题,类似情况如下:
ID NAME
TIMES TIMEGROUP
1 SAM 17/06/06 14:56
2 SAM 17/06/06 14:45
3 SAM 17/06/06 14:50
4 SAM 17/06/06 14:46
5 SAM 17/06/06 14:46
6 SAM 17/06/06 22:09
7 SAM 17/06/06 23:09
8 SAM 17/06/06 19:03
9 SAM 17/06/06 22:13
需要按照一定的规则将时间分出早中晚来,根据已有的时间函数,貌似不太可能实现,于是另辟蹊径。
终于在switch里找到解决方案。核心部分代码如下:
SELECT T1.name, Format([TIMES],"hh:mm") AS TTIME, Switch(TTIME>='03:30' And TTIME<='09:29','早上',TTIME>='09:30' And TTIME<='15:29','中午',TTIME>='15:30' And TTIME<='21:29','晚上',TTIME>='21:30' Or TTIME<='03:29','深夜') AS TIMEGROUP
FROM T1;
得到的查询结果如下,基本到达了针对时间进行分段的功能,由于只是进行了四分段,可能在时间概念上有些模糊,6-8分段可能好一些,只是代码会增加而已。
查询1
ID NAME
TIMES TIMEGROUP
1 SAM 17/06/06 14:56
2 SAM 17/06/06 14:45
3 SAM 17/06/06 14:50
4 SAM 17/06/06 14:46
5 SAM 17/06/06 14:46
6 SAM 17/06/06 22:09
7 SAM 17/06/06 23:09
8 SAM 17/06/06 19:03
9 SAM 17/06/06 22:13
需要按照一定的规则将时间分出早中晚来,根据已有的时间函数,貌似不太可能实现,于是另辟蹊径。
终于在switch里找到解决方案。核心部分代码如下:
SELECT T1.name, Format([TIMES],"hh:mm") AS TTIME, Switch(TTIME>='03:30' And TTIME<='09:29','早上',TTIME>='09:30' And TTIME<='15:29','中午',TTIME>='15:30' And TTIME<='21:29','晚上',TTIME>='21:30' Or TTIME<='03:29','深夜') AS TIMEGROUP
FROM T1;
得到的查询结果如下,基本到达了针对时间进行分段的功能,由于只是进行了四分段,可能在时间概念上有些模糊,6-8分段可能好一些,只是代码会增加而已。
name | TTIME | TIMEGROUP |
---|---|---|
SAM | 14:56 | 中午 |
SAM | 14:45 | 中午 |
SAM | 14:50 | 中午 |
8c79 SAM | 14:46 | 中午 |
SAM | 14:46 | 中午 |
SAM | 22:09 | 深夜 |
SAM | 23:09 | 深夜 |
SAM | 19:03 | 晚上 |
SAM | 22:13 | 深夜 |
相关文章推荐
- 对时间按指定时间段进行分组,可用于并发度计算
- bootstrap-datepicker限定可选时间范围 一、应用场景 实际应用中可能会根据日期字段查询某个日期范围内的数据,则需要对日期选择器可选时间进行限制, 如:开始时间不能大于结束时间,
- 浅析J2EE应用中的时间值字段的数据类型(转2)
- 浅析J2EE应用中的时间值字段的数据类型(转4)
- mysql date_format 按不同时间单位进行分组统计
- mysql中时间字段的查询、应用
- 时间字段按月分组
- DateTime字段, 日期和时间同时进行区间查询
- 通过一个月时间字段分组
- SQL Server中按照时间进行分组统计
- RTX解决方案-windows操作系统下需要对时间进行精准控制且需要提高运行速度的应用
- 数据库时间按天/小时/分钟来进行分组
- 浅析J2EE应用中的时间值字段的数据类型(转5)
- Access数据库写sql 语句向日期/时间字段加入空值
- 使用函数分组对某个字段进行字符串的累加
- 将不确定变为确定~Linq的Group是否可以根据多个字段进行分组
- 浅析J2EE应用中的时间值字段的数据类型(转3)
- 小弟想做一个应用软件,功能就是对internet上面服务器的access数据库进行读写。
- 时间字段作为条件进行检索
- SQL SERVER 同一个表并且是同一个时间字段进行相减