zoukankan      html  css  js  c++  java
  • sql时间段算法

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

    07:00-08:00
    08:00-09:00
    09:00-10:00
    10:00-11:00
    11:00-12:00
    12:00-13:00
    13:00-14:00
    14:00-15:00
    15:00-16:00
    16:00-17:00
    17:00-18:00
    18:00-19:00
    19:00-20:00
    20:00-21:00
    21:00-22:00
    22:00-23:00
    一小时制
    07:00-07:30
    07:30-08:00
    08:00-08:30
    08:30-09:00
    09:00-09:30
    09:30-10:00
    10:00-10:30
    10:30-11:00
    11:00-11:30
    11:30-12:00
    12:00-12:30
    12:30-13:00
    13:00-13:30
    13:30-14:00
    14:00-14:30
    14:30-15:00
    15:00-15:30
    15:30-16:00
    16:00-16:30
    16:30-17:00
    半小时制

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

    --如果是一小时时间段
    DECLARE @a INT
    SET @a=7
    WHILE @a<23
    BEGIN
    PRINT 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+1
    END

    半小时制

    --如果是半小时时间段
    --07:30-23:30
    DECLARE @start VARCHAR(20)
    DECLARE @end VARCHAR(20)
    SET @start='07:00'
    SET @end='22:00'
    
    DECLARE @b INT
    SET @b=CAST(LEFT(@start,2) AS INT)--取小时数
    WHILE @b<CAST(LEFT(@end,2) AS INT)
    BEGIN
    DECLARE @str VARCHAR(10)
    DECLARE @str1 VARCHAR(10)
    SET @str=CAST(@b AS VARCHAR(10))
    SET @str=REPLICATE('0',2-len(@str))+@str
    SET @str1=CAST(@b+1 AS VARCHAR(10))
    SET @str1=REPLICATE('0',2-len(@str1))+@str1
    IF(CHARINDEX('30',@start)>0)--如果开始时间包含半小时
    BEGIN
    PRINT @str+':'+'30'+'-'+@str1+':00'
    IF((@str1+':00')=@end)
    BREAK
    PRINT @str1+':00'+'-'+@str1+':30'
    END
    ELSE
    BEGIN
    PRINT @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'
    END
    SET @b=@b+1
    END

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

  • 相关阅读:
    TF-IDF
    3.路径模板两张表设计
    6.订单支付回调接口
    5.创建订单并生成支付链接接口
    5.使用ES代替whoosh全文检索
    4.docker基本使用
    3.ubuntu安装docker
    2.课程全文检索接口
    1.搜索引擎工作原理
    7.视频播放页面接口开发
  • 原文地址:https://www.cnblogs.com/xiefengdaxia123/p/6017669.html
Copyright © 2011-2022 走看看