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

  1. :-:
  2. :-:
  3. :-:
  4. :-:
  5. :-:
  6. :-:
  7. :-:
  8. :-:
  9. :-:
  10. :-:
  11. :-:
  12. :-:
  13. :-:
  14. :-:
  15. :-:
  16. :-:

一小时制

  1. :-:
  2. :-:
  3. :-:
  4. :-:
  5. :-:
  6. :-:
  7. :-:
  8. :-:
  9. :-:
  10. :-:
  11. :-:
  12. :-:
  13. :-:
  14. :-:
  15. :-:
  16. :-:
  17. :-:
  18. :-:
  19. :-:
  20. :-:

半小时制

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

  1. --如果是一小时时间段
  2. DECLARE @a INT
  3. SET @a=7
  4. WHILE @a<23
  5. BEGIN
  6. PRINT REPLICATE('',2-len(@a))+CAST(@a AS VARCHAR(10))+':00-'+REPLICATE('',2-len(@a+1))+CAST(@a+1 AS VARCHAR(20))+':00'
  7. SET @a=@a+1
  8. END

半小时制

  1. --如果是半小时时间段
  2. --07:30-23:30
  3. DECLARE @start VARCHAR(20)
  4. DECLARE @end VARCHAR(20)
  5. SET @start='07:00'
  6. SET @end='22:00'
  7.  
  8. DECLARE @b INT
  9. SET @b=CAST(LEFT(@start,2) AS INT)--取小时数
  10. WHILE @b<CAST(LEFT(@end,2) AS INT)
  11. BEGIN
  12. DECLARE @str VARCHAR(10)
  13. DECLARE @str1 VARCHAR(10)
  14. SET @str=CAST(@b AS VARCHAR(10))
  15. SET @str=REPLICATE('',2-len(@str))+@str
  16. SET @str1=CAST(@b+1 AS VARCHAR(10))
  17. SET @str1=REPLICATE('',2-len(@str1))+@str1
  18. IF(CHARINDEX('',@start)>0)--如果开始时间包含半小时
  19. BEGIN
  20. PRINT @str+':'+''+'-'+@str1+':00'
  21. IF((@str1+':00')=@end)
  22. BREAK
  23. PRINT @str1+':00'+'-'+@str1+':30'
  24. END
  25. ELSE
  26. BEGIN
  27. PRINT @str+':00'+'-'+@str+':30'
  28. PRINT @str+':'+''+'-'+@str1+':00'
  29. IF(@b=(CAST(LEFT(@end,2)AS INT)-1) and CHARINDEX('',@end)>0)--如果结尾时间有半小时
  30. PRINT @str1+':'+''+'-'+@str1+':30'
  31. END
  32. SET @b=@b+1
  33. END

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

sql时间段算法的更多相关文章

  1. oracle:SQL时间段

    oracle: SQL时间段 CREATEDATE between to_date('" + startDate + " 00:00:00','yyyy-mm-dd hh24:mi ...

  2. 分页sql存储过程算法

    /****** Object: StoredProcedure [dbo].[PRO_Pub_FenYe] Script Date: 08/04/2014 11:14:22 ******/ SET A ...

  3. 常用的SQL分页算法及对比

    SQL Server 2005引入的新方法. SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY keyField DESC) AS rowNum, * ...

  4. sql 时间段内没有的数据等于0

    如何实现没有的时间段中使用0来填充?? if object_id('[A]') is not null drop table [A] go create table [A]([日期] datetime ...

  5. SQL 时间段转换格式

    ), ): :57AM ), ): ), ): ), ): ), ): ), ): ), ): ), ): , ), ): :: ), ): :::827AM ), ): ), ): ), ): ), ...

  6. sql存储过程算法

    MSSQL执行 : exec proc_NAME ORACLE : beginproc_NAME;commit;end; 1.求素数 MSSQL; CREATE proc [dbo].[EXEC003 ...

  7. 电表读数归零回滚SQL处理算法

    在采集电表数据的时候,可以发现有些电表设备读数会发生回滚.这时候,如果单纯的累加计算用电量,就会出现负值.当然,这也许和电表的质量有关系. “RTQty”(当前读到的读数).“LastQty”(上次读 ...

  8. SQL SERVER 算法执行效率

    较差的性能 <---没有索引(为每个表执行表扫描) --->非聚集非覆盖索引(seek+局部有序扫描+lookups) ---> 聚集索引(seek+局部扫描) ---> 非聚 ...

  9. sql 时间段交叉查询是否有交集

    --双11活动结束时间大于当前服务器时间代表有效期的活动 --实现1 select * from ProdCar A where A.EndDate> GETDATE() and A.EndDa ...

随机推荐

  1. Android中Toast的用法简介

    转自:http://www.cnblogs.com/GnagWang/archive/2010/11/26/1888762.html Toast是Android中用来显示显示信息的一种机制,和Dial ...

  2. LA 6540 Fibonacci Tree

    以前做过的题···重新做一遍之后怎么做怎么wa···后来GG了···第二天看不知道为啥A了···难道我失忆了? 题意:无向图,边有黑色和白色两种颜色,求是否存在一个生成树中白边的个数是斐波那契数. 解 ...

  3. Webservice、WSDL三种服务访问的方式【转】

    http://www.cnblogs.com/yongfeng/archive/2013/01/30/2883146.html 用soapUI试了下wsdl的测试,但还是不知道webService和W ...

  4. HDU 1561-The more, The Better(树状背包)

    题意: n个城堡,每个有一定的财富,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡,求应攻克哪m个城堡,获得最大财富. 分析:dp[i][j],以i为根的子树,攻克j个城堡,获得的 ...

  5. HDU4289 Control 最大流

    经典题,求去掉若干个点,使得两个点不在连通,总价值最少 所以拆点最小割,除了拆点边,流量都为无穷,拆点边是流量为价值 #include <iostream> #include <cs ...

  6. Git 基础 - Git Aliases

    $ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global ...

  7. C# 检测机器是否有声卡设备

    有时候我们的程序需要进行音频的播放,则我们首先需要判断机器是否有声卡能够进行音频的播放.在网上找了一下没有发现太多关于如何检机器是否有声卡的例子.我在看了一些文档后自己写了一个小测试程序,如果机器装有 ...

  8. 计算N的阶层

    int factorial(int n) { int i, result; ; i <= n; i++) result *= i; return result; } int factorial2 ...

  9. 五指cms筛选功能的实现:

    筛选功能的实现: $_POST['page_urlrule'] = 'tuan-{$pinpai}-{$renqun}-{$type}-{$price}-{$area}-{$tese}-{$st}-{ ...

  10. Java 核心技术-集合-集合框架

    说在前面的话: 关于Core Java 集合方面的博文网上已经写烂了,为啥我还要写呢? 答:他们写的都很好,我也学到不少东西,如果把我当做一个系统的话,学习别人.看书.读源码是输入,但是往往形不成一个 ...