下面简单介绍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: 如果只要查看多少天,上面那些过程可以注释掉,只返回当前月最大天数

sqlserver2008存储过程(比较两个日期大小和获取当前月最大天数的存储过程)的更多相关文章

  1. 分享:JS比较两个日期大小

    发布:thatboy   来源:Net     [大 中 小] 本文介绍下,在javascript代码中,比较两个日期大小的方法,有需要的朋友参考下. 转自:http://www.jbxue.com/ ...

  2. js比较两个日期大小

    //比较两个日期大小 function dateCompare(startDate,endDate){ var aStart=startDate.split('-'); //转成成数组,分别为年,月, ...

  3. DateTime.Compare(t1,t2)比較两个日期大小

    DateTime.Compare(t1,t2)比較两个日期大小,排前面的小,排在后面的大,比方:2011-2-1就小于2012-3-2返回值小于零:  t1 小于 t2. 返回值等于零 : t1 等于 ...

  4. DateTime.Compare(t1,t2)比较两个日期大小

    DateTime.Compare(t1,t2)比较两个日期大小,排前面的小,排在后面的大,比如:2011-2-1就小于2012-3-2返回值小于零:  t1 小于 t2. 返回值等于零 : t1 等于 ...

  5. js中两个日期大小比较,获取当前日期,日期加减一天

    一.两个日期大小比较 1.日期参数格式:yyyy-mm-dd // a: 日期a, b: 日期b, flag: 返回的结果 function duibi(a, b,flag) { var arr = ...

  6. java之比较两个日期大小----https://blog.csdn.net/dongfangbaiyun/article/details/51225469

    https://blog.csdn.net/dongfangbaiyun/article/details/51225469 java之比较两个日期大小 最近又用到两个日期大小的比较,因此记录在此,方便 ...

  7. JS 比较日期相隔都少天&& 比较两个日期大小&&指定日期往前后推指定天数

    //这些天常接触到有关于js操作日期事 就小结了一下,希望对你有帮助 function conversionDate(a,b){ var start =a.split('-'); var end = ...

  8. java比较两个日期大小

    方法一 /** * 比较两个日期之间的大小 * * @param d1 * @param d2 * @return 前者大于后者返回true 反之false */ public boolean com ...

  9. java 比较两个日期大小(2) 用before(), after()

    调试代码,我就不整理了,记下after()  before() 觉得这张图好美,从人家的博客上截的,找不到链接了

随机推荐

  1. .NET单元测试的艺术-2.核心技术

    开篇:上一篇我们学习基本的单元测试基础知识和入门实例.但是,如果我们要测试的方法依赖于一个外部资源,如文件系统.数据库.Web服务或者其他难以控制的东西,那又该如何编写测试呢?为了解决这些问题,我们需 ...

  2. madplay播放控制

    管理madplay的主程序,包括播放,暂停播放,恢复播放,停止播放system("madplay north.mp3 &");//利用system函数调用madplay播放 ...

  3. 由乱序播放说开了去-数组的打乱算法Fisher–Yates Shuffle

    之前用HTML5的Audio API写了个音乐频谱效果,再之后又加了个播放列表就成了个简单的播放器,其中弄了个功能是'Shuffle'也就是一般播放器都有的列表打乱功能,或者理解为随机播放. 但我觉得 ...

  4. 七天学会ASP.NET MVC (四)——用户授权认证问题

    小编应各位的要求,快马加鞭,马不停蹄的终于:七天学会 Asp.Net MVC 第四篇出炉,在第四天的学习中,我们主要了学习如何在MVC中如何实现认证授权等问题,本节主要讲了验证错误时的错误值,客户端验 ...

  5. 【VC++技术杂谈006】截取电脑桌面并将其保存为bmp图片

    本文主要介绍如何截取电脑桌面并将其保存为bmp图片. 1. Bmp图像文件组成 Bmp是Windows操作系统中的标准图像文件格式. Bmp图像文件由四部分组成: (1)位图头文件数据结构,包含Bmp ...

  6. python 栈和队列(使用list实现)

    5.1.1. Using Lists as Stacks The list methods make it very easy to use a list as a stack, where the ...

  7. Android开发学习之路-二维码学习

    这个月装逼有点少了,为什么呢,因为去考软件射鸡师了,快到儿童节了,赶紧写篇博纪念一下逝去的青春,唔,请忽略这句话. 二维码其实有很多种,但是我们常见的微信使用的是一种叫做QRCode的二维码,像下面这 ...

  8. AngularJS 源码分析2

    上一篇地址 本文主要分析RootScopeProvider和ParseProvider RootScopeProvider简介 今天这个rootscope可是angularjs里面比较活跃的一个pro ...

  9. Ajax_03之接收数据

    1.使用XHR接收服务器返回的数据--text 服务器端:  header('Content-Type:text/plain');  echo 'xxx'; 客户端:  xhr.responseTex ...

  10. 对Big Table进行全表更新,导致 Replication 同步数据的过程十分缓慢

    在Publisher database中更新一个big table,数据行数是3.4亿多.由于没有更新 clustered Index key,因此,只产生了3.4亿多个Update Commands ...