比较两个日期大小和获取当前月最大天数的存储过程
生活随笔
收集整理的這篇文章主要介紹了
比较两个日期大小和获取当前月最大天数的存储过程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
下面簡單介紹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 = 1endelsebegin--返回0:代表:第二個日期小于第一個日期--set @IsCompare = 0end--返回結果--select @IsCompare
end2)調用存儲過程--調用比較兩個日期存儲過程--
declare @IsCompare int
exec sp_CompareDate '2016-08-12 12:23:34','2016-08-13 14:23:34',@IsCompare output3)執行結果第一個日期小于第二個日期 1 第一個日期大于第二個日期 0
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
end2)調用存儲過程--調用比較兩個日期存儲過程--
declare @day varchar(30)
exec sp_GetMaxDay @day output3)執行結果
視頻課?https://edu.csdn.net/course/play/7940
總結
以上是生活随笔為你收集整理的比较两个日期大小和获取当前月最大天数的存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端实现只显示年月日
- 下一篇: 计算机常用的数制及编码