博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql时间段算法
阅读量:5816 次
发布时间:2019-06-18

本文共 1225 字,大约阅读时间需要 4 分钟。

需求:领导要求写时间段算法,格式如下

07:00-08:0008:00-09:0009:00-10:0010:00-11:0011:00-12:0012:00-13:0013:00-14:0014:00-15:0015:00-16:0016:00-17:0017:00-18:0018:00-19:0019:00-20:0020:00-21:0021:00-22:0022:00-23:00
一小时制
07:00-07:3007:30-08:0008:00-08:3008:30-09:0009:00-09:3009:30-10:0010:00-10:3010:30-11:0011:00-11:3011:30-12:0012:00-12:3012:30-13:0013:00-13:3013:30-14:0014:00-14:3014:30-15:0015:00-15:3015:30-16:0016:00-16:3016:30-17:00
半小时制

一小时制比较好解决,直接循环即可

--如果是一小时时间段DECLARE @a INTSET @a=7WHILE @a<23BEGINPRINT REPLICATE('0',2-len(@a))+CAST(@a AS VARCHAR(10))+':00-'+REPLICATE('0',2-len(@a+1))+CAST(@a+1 AS VARCHAR(20))+':00'SET @a=@a+1END

半小时制

--如果是半小时时间段--07:30-23:30DECLARE @start VARCHAR(20)DECLARE @end VARCHAR(20)SET @start='07:00'SET @end='22:00'DECLARE @b INTSET @b=CAST(LEFT(@start,2) AS INT)--取小时数WHILE @b
0)--如果开始时间包含半小时BEGINPRINT @str+':'+'30'+'-'+@str1+':00'IF((@str1+':00')=@end)BREAKPRINT @str1+':00'+'-'+@str1+':30'ENDELSEBEGINPRINT @str+':00'+'-'+@str+':30'PRINT @str+':'+'30'+'-'+@str1+':00'IF(@b=(CAST(LEFT(@end,2)AS INT)-1) and CHARINDEX('30',@end)>0)--如果结尾时间有半小时PRINT @str1+':'+'00'+'-'+@str1+':30'ENDSET @b=@b+1END

半小时制感觉写的不好,智商捉鸡,欢迎各路大神指正。

 

转载于:https://www.cnblogs.com/xiefengdaxia123/p/6017669.html

你可能感兴趣的文章
mysql-This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
查看>>
BIEE Demo(RPD创建 + 分析 +仪表盘 )
查看>>
Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程
查看>>
基本概念复习
查看>>
重构第10天:提取方法(Extract Method)
查看>>
Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
查看>>
解决pycharm在ubuntu下搜狗输入法一直固定在左下角的问题
查看>>
“Info.plist” couldn’t be removed
查看>>
多线程day01
查看>>
react-native 模仿原生 实现下拉刷新/上拉加载更多(RefreshListView)
查看>>
MySQL出现Access denied for user ‘root’@’localhost’ (using password:YES)
查看>>
通过Roslyn构建自己的C#脚本(更新版)(转)
查看>>
红黑树
查看>>
UIImagePickerController拍照与摄像
查看>>
python调用windows api
查看>>
Linux内核中的printf实现【转】
查看>>
第四章 mybatis批量insert
查看>>
Java并发框架——什么是AQS框架
查看>>
【数据库】
查看>>
Win配置Apache+mod_wsgi+django环境+域名
查看>>