create function getsemester(
@yyyy_mm as varchar(7),@grade as varchar(2)
)returns int
as
begin
declare @s int
select @s=datediff(m,left(@yyyy_mm,2)+@grade+'-09-01',@yyyy_mm+'-01')/6+1
return @s
end
go
select dbo.getsemester('2012-01','08')
select dbo.getsemester('2011-10','08')
/*
-----------
7
(1 行受影响)
-----------
7
(1 行受影响)
*/
go
drop function dbo.getsemester