۰۶-فروردین-۱۳۹۲, ۱۴:۵۴:۲۱
تاریخ فردا
مثال :
نتیجه : 1392/01/01
کد:
CREATE FUNCTION [dbo].[TomorrowDate]
(
@DateA VARCHAR(10)
)
RETURNS VARCHAR(10)
AS
BEGIN
DECLARE @lnYear INT
DECLARE @lnMonth INT
DECLARE @lnDay INT
DECLARE @Temp INT
DECLARE @lnYearS NVARCHAR(4)
DECLARE @lnMonthS NVARCHAR(2)
DECLARE @lnDayS NVARCHAR(2)
SET @lnYear = CAST(SUBSTRING(@DateA, 1, 4) AS INT)
SET @lnMonth = CAST(SUBSTRING(@DateA, 6, 2) AS INT)
SET @lnDay = CAST(SUBSTRING(@DateA, 9, 2) AS INT) + 1
IF (@lnYear % 4) = 3
BEGIN
SET @Temp = 1
END
ELSE
BEGIN
SET @Temp = 0
END
-------------------------------
IF (@lnMonth = 12)
AND (@lnDay > 29 + @Temp)
BEGIN
SET @lnDay = 1
SET @lnMonth = 1
SET @lnYear = @lnYear + 1
END
ELSE
BEGIN
IF ((@lnMonth >= 7 AND @lnMonth <= 11) AND (@lnDay > 30))
OR ((1 <= @lnMonth AND @lnMonth <= 6) AND (@lnDay > 31))
BEGIN
SET @lnDay = 1
SET @lnMonth = @lnMonth + 1
END
END
SET @lnYearS = CAST(@lnYear AS NVARCHAR(4))
IF (@lnMonth < 10)
SET @lnMonthS = '0' + CAST(@lnMonth AS NVARCHAR(2))
ELSE
SET @lnMonthS = CAST(@lnMonth AS NVARCHAR(2))
IF (@lnDay < 10)
SET @lnDayS = '0' + CAST(@lnDay AS NVARCHAR(2))
ELSE
SET @lnDayS = CAST(@lnDay AS NVARCHAR(2))
RETURN (@lnYearS + '/' + @lnMonthS + '/' + @lnDayS)
END
کد:
SELECT dbo.TomorrowDate('1391/12/30')