sql >> データベース >  >> RDS >> Sqlserver

2つの異なる時間パラメータ間のすべての時間を表示するにはどうすればよいですか

    CTE を使用し、hour part of @time is zeroであると仮定します :

    declare @time time(0) = '00:15', 
            @start time(0) = '12:00', 
            @end time(0) = '15:00'
    
    ;with cte as (
        select @start sTime, dateadd(minute, datepart(minute,@time), @start) eTime
        union all
        select eTime, dateadd(minute, datepart(minute,@time), eTime)
        from cte
        where dateadd(minute, datepart(minute,@time), eTime) <= @end
    )
    select left(sTime,5) + ' - ' + left(eTime, 5) results 
    from cte
    
    --results
    12:00 - 12:15
    12:15 - 12:30
    12:30 - 12:45
    12:45 - 13:00
    13:00 - 13:15
    13:15 - 13:30
    13:30 - 13:45
    13:45 - 14:00
    14:00 - 14:15
    14:15 - 14:30
    14:30 - 14:45
    14:45 - 15:00
      

    1. php/PDOにレコードが存在する場合はレコードを削除します

    2. コードによるファイルtnsnames.oraの場所の取得

    3. 2列を選択し、データをマージします

    4. トランザクション内のMysqlトランザクション