這段時間的項目用到了sql server,於是一邊學習,一邊開發;
今天學習了函數的創建,該函數的功能如題所示;
USE [EUC]
GO
/****** Object: UserDefinedFunction [dbo].[get_xun] Script Date: 06/06/2014 16:38:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author>
-- Create date: <Create Date,2014-06-06>
-- Description: <Description,">
-- Parameter desc: @date 輸入’yyyy-mm-dd’ ;@startorend 1代表旬開始,其他數字代表旬結束
-- =============================================
CREATE FUNCTION [dbo].[get_xun]
(
@date date,@startorend int
)
RETURNS date
as
BEGIN
declare
@return_date date,
@year int,
@month int,
@day int
set @year=(select YEAR(@date))
set @month=(select MONTH(@date))
set @day=(select DAY(@date))
if @startorend=1
if @day<=10
set @return_date=(select dateadd(dd,-day(@date)+1,@date) )
else if @day<=20
set @return_date=(select dateadd(dd,-day(@date)+11,@date) )
else
set @return_date=(select dateadd(dd,-day(@date)+21,@date) )
else
if @day<=10
set @return_date=(select dateadd(dd,-day(@date)+10,@date) )
else if @day<=20
set @return_date=(select dateadd(dd,-day(@date)+20,@date) )
else
set @return_date=(select dateadd(dd,-1,dateadd(m,1,dateadd(dd,-day(@date)+1,@date))))
RETURN @return_date
END
GO