mirror of
https://github.com/acedanger/budget-database.git
synced 2025-12-05 22:50:13 -08:00
initial commit
This commit is contained in:
52
functions/fn_GetHoliday.sql
Normal file
52
functions/fn_GetHoliday.sql
Normal file
@@ -0,0 +1,52 @@
|
||||
use Leo
|
||||
go
|
||||
|
||||
alter function dbo.fn_GetHoliday (@date date)
|
||||
returns varchar(50)
|
||||
as
|
||||
begin
|
||||
declare @s varchar(50)
|
||||
|
||||
select @s =
|
||||
case
|
||||
when dbo.fn_ShiftHolidayToWorkday(cast(yr as varchar) + '-01-01') = @date
|
||||
then 'New Year'
|
||||
when dbo.fn_ShiftHolidayToWorkday(cast(yr + 1 as varchar) + '-01-01') = @date
|
||||
then 'New Year'
|
||||
when mn = 1 and DayOfMonth between 15 and 21 and DayName = 'Monday'
|
||||
then 'Martin Luther King Jr Day'
|
||||
when mn = 2 and DayOfMonth between 15 and 21 and DayName = 'Monday'
|
||||
then 'Presidents'' Day'
|
||||
when mn = 5 and DayOfMonth >= 25 and DayName = 'Monday'
|
||||
then 'Memorial Day'
|
||||
when dbo.fn_ShiftHolidayToWorkday(cast(yr as varchar) + '-06-19') = @date
|
||||
then 'Juneteenth'
|
||||
when dbo.fn_ShiftHolidayToWorkday(cast(yr as varchar) + '-07-04') = @date
|
||||
then 'Independence Day'
|
||||
when mn = 9 and DayOfMonth <= 7 and DayName = 'Monday'
|
||||
then 'Labor Day'
|
||||
when dbo.fn_ShiftHolidayToWorkday(cast(yr as varchar) + '-11-11') = @date
|
||||
then 'Veteran''s Day'
|
||||
when mn = 10 and DayOfMonth between 8 and 14 and DayName = 'Monday'
|
||||
then 'Columbus Day'
|
||||
when mn = 11 and DayOfMonth between 22 and 28 and DayName = 'Thursday'
|
||||
then 'Thanksgiving Day'
|
||||
--when mn = 11 and DayOfMonth between 23 and 29 and DayName = 'Friday'
|
||||
-- then 'Day After Thanksgiving'
|
||||
when dbo.fn_ShiftHolidayToWorkday(cast(yr as varchar) + '-12-25') = @date
|
||||
then 'Christmas Day'
|
||||
--when dbo.fn_ShiftHolidayToWorkday(cast(yr as varchar) + '-12-31') = @date
|
||||
-- then 'New Years Eve'
|
||||
else null
|
||||
end
|
||||
from (
|
||||
select
|
||||
yr = year(@date),
|
||||
mn = month(@date),
|
||||
DayOfMonth = day(@date),
|
||||
DayName = datename(weekday,@date)
|
||||
) c
|
||||
|
||||
return @s
|
||||
end
|
||||
go
|
||||
12
functions/tvf_BudgetInPeriod.sql
Normal file
12
functions/tvf_BudgetInPeriod.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
use Leo
|
||||
go
|
||||
|
||||
alter function dbo.tvf_BudgetInPeriod (
|
||||
@str_dt date = null
|
||||
, @end_dt date = null
|
||||
) returns table
|
||||
as return
|
||||
select Id, TrxDate, TrxDate_ISO8601, TrxDescription, TrxAmount, RunningBal
|
||||
from dbo.vw_BudgetRunningBalance
|
||||
where TrxDate between isnull(@str_dt, dateadd(day, 1, eomonth(getDate(), -1))) and isnull(@end_dt, eomonth(getdate()))
|
||||
go
|
||||
15
functions/tvf_GetHolidays.sql
Normal file
15
functions/tvf_GetHolidays.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
use Leo
|
||||
go
|
||||
|
||||
create FUNCTION dbo.tvf_GetHolidays(@year int)
|
||||
RETURNS TABLE
|
||||
AS
|
||||
RETURN (
|
||||
select dt, dbo.fn_GetHoliday(dt) as Holiday
|
||||
from (
|
||||
select dateadd(day, number, convert(varchar,@year) + '-01-01') dt
|
||||
from master..spt_values
|
||||
where type='p'
|
||||
) d
|
||||
where year(dt) = @year and dbo.fn_GetHoliday(dt) is not null
|
||||
)
|
||||
Reference in New Issue
Block a user