在论坛中出现的比较难的sql问题:24(生成时间段)
2014-02-12 10:11
288 查看
最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了。 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路。
1、如何取0点开始至今的时间段集合, 间隔1小时
http://bbs.csdn.net/topics/390706187
如题:如何取0点开始至今的时间段集合, 间隔1小时
0:00 - 1:00
1:00 - 2:00
...
23:00 - 0:00
下面的代码产生的是纯时间段,不过不好用:
这个是产生日期时间段,比较实用:
本文出自 “探索SQLServer” 博客,请务必保留此出处http://yupeigu.blog.51cto.com/3323001/1367940
1、如何取0点开始至今的时间段集合, 间隔1小时
http://bbs.csdn.net/topics/390706187
如题:如何取0点开始至今的时间段集合, 间隔1小时
0:00 - 1:00
1:00 - 2:00
...
23:00 - 0:00
下面的代码产生的是纯时间段,不过不好用:
select convert(varchar(10),getdate(),120) '当天日期', convert(varchar(5),dateadd(hour,s.number,convert(varchar(10),getdate(),120)),108)+'-'+ convert(varchar(5),dateadd(hour,s.number+1,convert(varchar(10),getdate(),120)),108) '时间段' from master..spt_values s where s.type = 'P' and s.number <= 23 /* 当天日期 时间段 2014-02-11 00:00-01:00 2014-02-11 01:00-02:00 2014-02-11 02:00-03:00 2014-02-11 03:00-04:00 2014-02-11 04:00-05:00 2014-02-11 05:00-06:00 2014-02-11 06:00-07:00 2014-02-11 07:00-08:00 2014-02-11 08:00-09:00 2014-02-11 09:00-10:00 2014-02-11 10:00-11:00 2014-02-11 11:00-12:00 2014-02-11 12:00-13:00 2014-02-11 13:00-14:00 2014-02-11 14:00-15:00 2014-02-11 15:00-16:00 2014-02-11 16:00-17:00 2014-02-11 17:00-18:00 2014-02-11 18:00-19:00 2014-02-11 19:00-20:00 2014-02-11 20:00-21:00 2014-02-11 21:00-22:00 2014-02-11 22:00-23:00 2014-02-11 23:00-00:00 */
这个是产生日期时间段,比较实用:
if OBJECT_ID('tempdb..#seTable') is not null drop table #seTable create table #seTable(starTime nvarchar(40),endTime nvarchar(40)) insert into #seTable select --convert(varchar(10),getdate(),120) curr_date, convert(nvarchar(19),dateadd(hour,s.number,convert(varchar(10),getdate(),120)),120) start_date, convert(nvarchar(19),dateadd(hour,s.number+1,convert(varchar(10),getdate(),120)),120) end_date from master..spt_values s where s.type = 'P' and s.number <= 23 select * from #seTable /* starTime endTime 2014-02-11 00:00:00 2014-02-11 01:00:00 2014-02-11 01:00:00 2014-02-11 02:00:00 2014-02-11 02:00:00 2014-02-11 03:00:00 2014-02-11 03:00:00 2014-02-11 04:00:00 2014-02-11 04:00:00 2014-02-11 05:00:00 2014-02-11 05:00:00 2014-02-11 06:00:00 2014-02-11 06:00:00 2014-02-11 07:00:00 2014-02-11 07:00:00 2014-02-11 08:00:00 2014-02-11 08:00:00 2014-02-11 09:00:00 2014-02-11 09:00:00 2014-02-11 10:00:00 2014-02-11 10:00:00 2014-02-11 11:00:00 2014-02-11 11:00:00 2014-02-11 12:00:00 2014-02-11 12:00:00 2014-02-11 13:00:00 2014-02-11 13:00:00 2014-02-11 14:00:00 2014-02-11 14:00:00 2014-02-11 15:00:00 2014-02-11 15:00:00 2014-02-11 16:00:00 2014-02-11 16:00:00 2014-02-11 17:00:00 2014-02-11 17:00:00 2014-02-11 18:00:00 2014-02-11 18:00:00 2014-02-11 19:00:00 2014-02-11 19:00:00 2014-02-11 20:00:00 2014-02-11 20:00:00 2014-02-11 21:00:00 2014-02-11 21:00:00 2014-02-11 22:00:00 2014-02-11 22:00:00 2014-02-11 23:00:00 2014-02-11 23:00:00 2014-02-12 00:00:00 */
本文出自 “探索SQLServer” 博客,请务必保留此出处http://yupeigu.blog.51cto.com/3323001/1367940
相关文章推荐
- 在论坛中出现的比较难的sql问题:24(生成时间段)
- 在论坛中出现的比较难的sql问题:15(生成动态删除列语句 分组内多行转为多列)
- 在论坛中出现的比较难的sql问题:35(时间间隔计算问题)
- 在论坛中出现的比较难的sql问题:44(触发器专题 明细表插入数据时调用主表对应的数据)
- 在论坛中出现的比较难的sql问题:15(行转列2)
- 在论坛中出现的比较难的sql问题:41(循环替换 循环替换关键字)
- 在论坛中出现的比较难的sql问题:8(递归问题1)
- 在论坛中出现的比较难的sql问题:11(字符分拆1)
- 在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值)
- 在论坛中出现的比较难的sql问题:36(动态行转列 解析json格式字符串)
- 在论坛中出现的比较难的sql问题:8(递归问题 树形结构分组)
- 在论坛中出现的比较难的sql问题:11(字符分拆 多关键字匹配问题)
- 在论坛中出现的比较难的sql问题:28(循环查询表来实现递归)
- 在论坛中出现的比较难的sql问题:14(存储过程问题)
- 在论坛中出现的比较难的sql问题:26(动态行专列+合并字符串、补足行数)
- 在论坛中出现的比较难的sql问题:1(字符串分拆+行转列问题)
- 在论坛中出现的比较难的sql问题:12(递归问题2)
- 在论坛中出现的比较难的sql问题:14(存储过程问题 存储过程参数、存储过程内的参数)
- 在论坛中出现的比较难的sql问题:42(动态行转列 考勤时间动态列)
- 在论坛中出现的比较难的sql问题:1(字符串分拆+行转列问题 SQL遍历截取字符串)