У меня есть Function
, как это;
ALTER FUNCTION [dbo].[fngcodeme]
(
@HESAP INT, @DOV INT, @TEKLIF VARCHAR(10), @BAS datetime, @BIT datetime
)
RETURNS FLOAT
AS
BEGIN
DECLARE @Result FLOAT
IF CONVERT(DATETIME, @BIT,103) <= '20110228'
SET @Result = (SELECT SUM(TUTAR)
FROM YAZ..MARDATA.M_HAREKET
WHERE TEMEL_HESAP = @HESAP
AND DOVIZ_KOD = @DOV
AND REF_KOD = 'GC'
AND BACAK_GRUP = 'PERT'
AND ISL_KOD = 1
AND ACIKLAMA LIKE '%' + @TEKLIF + '%'
AND ISL_TAR >= CONVERT(DATETIME, @BAS,103)
AND ISL_TAR <= CONVERT(DATETIME, @BIT,103)
)
ELSE
SET @Result = (SELECT SUM(TUTAR)
FROM YAZ..MARDATA.M_GHAREKET
WHERE TEMEL_HESAP = @HESAP
AND DOVIZ_KOD = @DOV
AND REF_KOD = 'GC'
AND BACAK_GRUP = 'PERT'
AND ISL_KOD = 1
AND ACIKLAMA LIKE '%' + @TEKLIF + '%'
AND ISL_TAR >= CONVERT(DATETIME, @BAS,103)
AND ISL_TAR <= CONVERT(DATETIME, @BIT,103)
)
RETURN @Result
END
M_GHAREKET
таблица - моя месячная таблица данных. Каждый конец месяца эта таблица загружается до M_HAREKET
. (И удалил все данные в M_GHAREKET
)
M_HAREKET
- это большое ведро. M_GHAREKET
маленький. (Я имею в виду M_HAREKET
имеет более 500.000 данных, M_GHAREKET
более 4.000)
То, что я хочу для этого Function
, если значение месяца IF @BAS для даты равно DateTime.Now.Month
значение, которое я хочу использовать M_GHAREKET
таблицу, иначе использовать M_HAREKET
таблицу.
Как мне изменить эту функцию?
Возможно ли подобное предложение IF с DateTime.Now.Month
в SQL Function
?
Или я должен использовать на своей ASP.NET
странице? Как я могу это сделать?