sqlserver中返回旬开始日期和结束日期的函数

这段时间的项目用到了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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搞怪的索引

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值