UFN_CLASSMEETINGTEMPLATE_GETPERIODSTRING
Returns the periods and times associated with the given class meeting template.
Return
Return Type |
---|
nvarchar(1000) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CLASSMEETINGTEMPLATEID | uniqueidentifier | IN | |
@LENGTHINPERIODS | int | IN |
Definition
Copy
CREATE function dbo.UFN_CLASSMEETINGTEMPLATE_GETPERIODSTRING
(
@CLASSMEETINGTEMPLATEID uniqueidentifier,
@LENGTHINPERIODS int
)
returns nvarchar(1000)
as begin
declare @PERIODS nvarchar(1000)
select @PERIODS = (
select
T.PERIOD + '; ' as [text()]
from
(select
[PEER].PERIOD as PERIOD,
[PEER].STARTTIME,
ROW_NUMBER() over (order by [PEER].STARTTIME) as ROW
from dbo.CLASSMEETINGTEMPLATE
left join dbo.TIMETABLEDAYPERIOD [PRIMARY] on CLASSMEETINGTEMPLATE.TIMETABLEDAYPERIODID = [PRIMARY].ID
left join dbo.TIMETABLEDAYPERIOD [PEER] on [PRIMARY].TIMETABLEDAYID = [PEER].TIMETABLEDAYID
where CLASSMEETINGTEMPLATE.ID = @CLASSMEETINGTEMPLATEID
and ([PRIMARY].ID is null or [PEER].STARTTIME >= [PRIMARY].STARTTIME)
) T
where ROW <= @LENGTHINPERIODS
order by T.STARTTIME asc
for xml path(''))
return (select case when @PERIODS is null or @PERIODS = ''
then null
else substring(@PERIODS, 1, len(@PERIODS)-1)
end)
end