Create FUNCTION dbo.Fuc_JES_CalcTimeRange
(@StartTime nvarchar(10),@EndTime nvarchar(10),@time nvarchar(10))
RETURNS Bit
AS
BEGIN
Declare @IntSTime int,@IntETime int,@IntCTime int,@R bit
if SUBSTRING (@StartTime,1,1)='C'
Set @IntSTime=cast(SUBSTRING(@StartTime,2,2) as int)*3600+cast(SUBSTRING (@StartTime,5,2) as int)*60+cast(SUBSTRING (@StartTime,8,2) as int)
else if SUBSTRING (@StartTime,1,1) ='P'
Set @IntSTime=86400+cast(SUBSTRING(@StartTime,2,2) as int)*3600+cast(SUBSTRING (@StartTime,5,2) as int)*60+cast(SUBSTRING (@StartTime,8,2) as int)
if SUBSTRING (@EndTime,1,1)='C' begin
Set @IntETime=cast(SUBSTRING(@EndTime,2,2) as int)*3600+cast(SUBSTRING (@EndTime,5,2) as int)*60+cast(SUBSTRING (@EndTime,8,2) as int)
Set @IntCTime=cast(SUBSTRING(@Time,1,2) as int)*3600+cast(SUBSTRING (@Time,4,2) as int)*60
end else if SUBSTRING (@EndTime,1,1) ='P' begin
Set @IntETime=86400+cast(SUBSTRING(@EndTime,2,2) as int)*3600+cast(SUBSTRING (@EndTime,5,2) as int)*60+cast(SUBSTRING (@EndTime,8,2) as int)
Set @IntCTime=cast(SUBSTRING(@Time,1,2) as int)*3600+cast(SUBSTRING (@Time,4,2) as int)*60
if @IntCTime<@IntSTime SET @IntCTime=@IntCTime+86400
end
if @IntCTime>=@IntSTime and @IntCTime<=@IntETime Set @R=1 else Set @R=0
Return @R
END