加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 13:17:02 所属栏目:MsSql教程 来源:网络整理
导读:这段时间的项目用到了sql server,于是一边学习,一边开发; 今天学习了函数的创建,该函数的功能如题所示; USE [EUC] GO /****** Object:? UserDefinedFunction [dbo].[get_xun]??? Script Date: 06/06/2014 16:38:04 ******/ SET ANSI_NULLS ON GO SET QU

这段时间的项目用到了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,-1,dateadd(m,1,dateadd(dd,@date))))
????????
????? RETURN @return_date?????
?END

GO

??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读