/*
CREATE FUNCTION dbo.sys_GetQuarterBeginDate(@month smalldatetime)
RETURNS smalldatetime
AS
--function : 返回季度的开始月
BEGIN
DECLARE @dt smalldatetime
IF MONTH(@month) < 4
SET @dt = CONVERT(VARCHAR,YEAR(@month) )+ '-1-1'
ELSE
BEGIN
IF MONTH(@month) < 7
SET @dt = CONVERT(VARCHAR,YEAR(@month))+ '-4-1'
ELSE
BEGIN
IF MONTH(@month) < 10
SET @dt = CONVERT(VARCHAR,YEAR(@month)) + '-7-1'
ELSE
SET @dt = CONVERT(VARCHAR,YEAR(@month) )+ '-10-1'
END
END
RETURN @dt
END
*/
调用:select dbo.sys_GetQuarterBeginDate('2007-6-28')
===========================================================================================================
/*
CREATE FUNCTION dbo.sys_GetQuarter(@month smalldatetime)
RETURNS int
AS
--function : 返回某月是第几季度
BEGIN
DECLARE @qw int
SELECT @qw = CASE MONTH (@month)
WHEN 1 THEN 1
WHEN 2 THEN 2
WHEN 3 THEN 3
WHEN 4 THEN 1
WHEN 5 THEN 2
WHEN 6 THEN 3
WHEN 7 THEN 1
WHEN 8 THEN 2
WHEN 9 THEN 3
WHEN 10 THEN 1
WHEN 11 THEN 2
WHEN 12 THEN 3
END
RETURN @qw
END
*/
CREATE FUNCTION dbo.sys_GetQuarterBeginDate(@month smalldatetime)
RETURNS smalldatetime
AS
--function : 返回季度的开始月
BEGIN
DECLARE @dt smalldatetime
IF MONTH(@month) < 4
SET @dt = CONVERT(VARCHAR,YEAR(@month) )+ '-1-1'
ELSE
BEGIN
IF MONTH(@month) < 7
SET @dt = CONVERT(VARCHAR,YEAR(@month))+ '-4-1'
ELSE
BEGIN
IF MONTH(@month) < 10
SET @dt = CONVERT(VARCHAR,YEAR(@month)) + '-7-1'
ELSE
SET @dt = CONVERT(VARCHAR,YEAR(@month) )+ '-10-1'
END
END
RETURN @dt
END
*/
调用:select dbo.sys_GetQuarterBeginDate('2007-6-28')
===========================================================================================================
/*
CREATE FUNCTION dbo.sys_GetQuarter(@month smalldatetime)
RETURNS int
AS
--function : 返回某月是第几季度
BEGIN
DECLARE @qw int
SELECT @qw = CASE MONTH (@month)
WHEN 1 THEN 1
WHEN 2 THEN 2
WHEN 3 THEN 3
WHEN 4 THEN 1
WHEN 5 THEN 2
WHEN 6 THEN 3
WHEN 7 THEN 1
WHEN 8 THEN 2
WHEN 9 THEN 3
WHEN 10 THEN 1
WHEN 11 THEN 2
WHEN 12 THEN 3
END
RETURN @qw
END
*/