博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqlserver2008存储过程(比较两个日期大小和获取当前月最大天数的存储过程)
阅读量:5239 次
发布时间:2019-06-14

本文共 1368 字,大约阅读时间需要 4 分钟。

下面简单介绍sqlserver2008两个常用的存储过程

1、比较两个日期大小的存储过程

2、获取当前月份的最大天数的存储过程

 

1、创建比较两个日期大小的存储过程

1)创建比较两个日期大小的存储过程

/***

** 作用:比较两个日期的大小
**输入参数:第一个日期,第二个日期
**输出参数:返回结果
**/
create proc [dbo].[sp_CompareDate]
(
    @FirstDate varchar(30),  --第一个日期
    @SecondDate varchar(30),  --第二个日期
    @IsCompare int output     --返回结果
)
as
begin
    --判断两个日期大小--
    if(@SecondDate >= @FirstDate)
        begin
            --返回1:代表:第二个日期大于等于第一个日期--
           set @IsCompare = 1
        end
    else
        begin
            --返回0:代表:第二个日期小于第一个日期--
            set @IsCompare = 0
        end
        --返回结果--
    select @IsCompare
end

2)调用存储过程

--调用比较两个日期存储过程--

declare @IsCompare int
exec sp_CompareDate '2016-08-12 12:23:34','2016-08-13 14:23:34',@IsCompare output

3)执行结果

第一个日期小于第二个日期

第一个日期大于第二个日期

 

2、获取当前月份的最大天数的存储过程

1)创建存储过程

/***

*获取系统当前月的最大天数
***/
create proc [dbo].[sp_GetMaxDay]
@Day varchar(30) output   --返回天数
as
begin   
    --取到当前日期
    select GETDATE()
    --取到当前日期与sql初始日期(1900-01-01 00:00:00)的差值(单位:月)
    select DATEDIFF(MM,0,GETDATE())
    --给初始日期加上上面得到的月数,得到本月1号的日期
    select DATEADD(MM,DATEDIFF(MM,0,GETDATE()),0)
    --给初始日期加上上面得到的月数+1,得到下个月1号的日期
    select DATEADD(MM,DATEDIFF(MM,0,GETDATE())+1,0)
    --将上面得到的日期减去1,得到本月最后一天的日期
    select DATEADD(MM,DATEDIFF(MM,0,GETDATE())+1,0)-1
    --取到上面日期的“日”
    set @Day= DAY(DATEADD(MM,DATEDIFF(MM,0,GETDATE())+1,0)-1)
    select @Day
end

2)调用存储过程

--调用比较两个日期存储过程--

declare @day varchar(30)
exec sp_GetMaxDay @day output

3)执行结果

Ps: 如果只要查看多少天,上面那些过程可以注释掉,只返回当前月最大天数

转载于:https://www.cnblogs.com/xielong/p/6069957.html

你可能感兴趣的文章
amoeba连接mysql--ERROR 2006 (HY000): MySQL server has gone away
查看>>
http://overapi.com/
查看>>
游戏生命周期和新服的关系
查看>>
gitlab与gitlab服务器之间的代码迁移
查看>>
NEU校园网登录器
查看>>
如何使用微信小程序video组件播放视频
查看>>
angular清除select空格
查看>>
实验10 指针进阶 程序四
查看>>
java笔记--超级类Object多线程的应用+哲学家进餐算法内部类与多线程结合
查看>>
java笔记--反射进阶之总结与详解
查看>>
(网络数据交互)Android解析Internet的Json资源文件
查看>>
抽象类于接口
查看>>
python学习 day6 (3月7日)
查看>>
BZOJ3270 博物館 概率DP 高斯消元
查看>>
Javascript的加载
查看>>
TCP/IP、Http、Socket的区别
查看>>
vue 封装分页组件
查看>>
深入理解C语言-指针使用的常见错误
查看>>
解决问题1:可以从桌面显示到FORM MFC/HALCON混合编程系列一_打开图像_简单处理_...
查看>>
MEX程序中的mexFunction函数【转】
查看>>