SQL中給datetime類型變量賦值


 

題目 :使用存儲過程統計某一時間段內各種圖書借閱人數,要求:如果沒有指定起始日期,就以前一個月當日作為起始日期,如果沒有指定截止日期,就以當日作為截止日期.

 1 if exists(select * from sysobjects where name = 'usp_searchLendInfo')
2 drop procedure usp_searchLendInfo
3 go
4 create procedure usp_searchLendInfo
5 @startDate datetime = null,
6 @endDate datetime =null
7 as
8 set nocount on
9 declare @sDate datetime = dateadd(MONTH,-1,GETDATE()) --獲取上一個月的時間
10 declare @eDate datetime = getdate() -- 獲取當前時間
11
12 ---當用戶沒有輸入時 開始時間以及結束時間均為null
13 if(@startDate is null and @endDate is null)
14 begin
15 set @startDate = @sDate
16 set @endDate = @eDate
17 end
18 else if(@startDate is null )
19 set @startDate = @sDate
20
21 else if(@endDate is null)
22 set @endDate = @eDate
23
24 print '以下是從'+convert(varchar(15),@startDate)+''+convert(varchar(15),@endDate)+'圖書借取信息'
25 select bname 圖書名稱, COUNT(*) 借閱數量 from borrow inner join book
26 on Book.BID = Borrow.BID where lenddate > @startDate and willdate <@endDate group by bname
27 go
28 exec usp_searchLendInfo '2012-2-9','2012-4-9'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM