2015-09-10 75 views
0

我寫了一個存儲過程。我想在FromDate和ToDate屬於同一個月的時候進行驗證。貝婁是我到目前爲止所得到的。檢查SQL Server中的週末和月份條件

CREATE PROCEDURE SavingsAccountsAllDetail 
(@FDate DATE=NULL, 
@TDate DATE=NULL) 

AS 
BEGIN 
    SET NOCOUNT ON; 

    DECLARE @FromDate DATE 
    DECLARE @ToDate DATE 

    SET @FromDate = isnull(@FDate) 
    SET @ToDate = isnull(@TDate) 

    IF month(@FromDate) != month(dateadd(day,-1,@FromDate)) 
    BEGIN 
    PRINT 'Not belongs to current month' 
    END 

我想知道我的方法是否可行,以及如何添加ToDate驗證。

我也想檢查FromDate/ToDate是不是週末。如果這是一個週末,那麼PRINT'是一個週末'。如果不繼續進行其餘的程序。我非常感謝支持。

回答

2

您可能還想檢查一年。但對於你所問的。這是方式。

IF month(@FromDate) != month(@ToDate) 
BEGIN 
     RETURN; --Not same month 
END 

週末檢查

IF datepart(dw,@FromDate) IN (1,7) OR datepart(dw,@ToDate) IN (1,7) 
BEGIN 
     RETURN; --Weekend 
END 
+0

對不起當月我的意思是,如果自/至日期屬於同月與否,而不是實際的月份。 –

+0

Yuh我看到了,非常感謝支持,但是如何更新存儲過程來檢查兩個驗證,以及如果不滿足條件,只能繼續執行其餘部分? –

+0

@DeEDEe:只要在兩個塊內都說'RETURN' – DarkKnight