sql >> Databáze >  >> RDS >> Sqlserver

Počítejte počet dní on_hire v lednu

Něco takového?

declare @t table (id int, tool  varchar(10),    on_hire date,    off_hire date);
insert into @t values
(1,1,'2016-01-01','2016-01-10'),
(2,1,'2016-01-15','2016-01-20'),
(3,2,'2015-12-01','2016-01-10'),
(4,3,'2016-01-20','2016-02-10'),
(5,4,'2015-01-01','2017-01-10')


select tool,  sum(datediff(d,on_hire,off_hire)) + 1 dayshired
from
(
select tool,
        case 
            when on_hire < '2016-01-01' then '2016-01-01'
            else on_hire 
        end as on_hire,
        case 
            when off_hire > '2016-01-31' then '2016-01-31'
            else off_hire 
        end as off_hire         
from @t
) s
group by s.tool


  1. Jak upgraduji databázi osCommerce z v2.2 na v2.3

  2. Jak vytvořit SQL Synonymum nebo Alias ​​pro název databáze?

  3. Jak vytvořit uloženou proceduru Oracle, která může vracet konkrétní entity i všechny entity

  4. Jak pomocí PHP MYSQLi získat správu pouze dlužníků a pouze věřitelů s action_type DR a CR