Asp.net 在SQL函数中使用Date.Now
我有这样一个Asp.net 在SQL函数中使用Date.Now,asp.net,sql,sql-server,function,Asp.net,Sql,Sql Server,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(TU
函数
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
ALTER函数[dbo].[fngcode]
(
@HESAP INT、@DOV INT、@TEKLIF VARCHAR(10)、@BAS datetime、@BIT datetime
)
返回浮动
作为
开始
声明@Result FLOAT
如果CONVERT(DATETIME,@BIT,103)=CONVERT(DATETIME,@BAS,103)
和ISL_TAR=CONVERT(DATETIME,@BAS,103)
和ISL_TAR您可以使用和
您可以使用和
您可以使用DATEDIFF
以月为单位查找两个日期之间的差异。这将返回跨越的时间段边界数,因此在检查月份时,如果两个日期在同一日历年和日历月内,则仅返回0
DECLARE @date1 DATETIME
SET @date1 = '2011-03-01'
SELECT DATEDIFF(MM, @date1, '2011-02-28') -- -1
SELECT DATEDIFF(MM, @date1, '2011-03-20') -- 0
SELECT DATEDIFF(MM, @date1, '2010-03-01') -- -12
因此,要检查日期是否与今天的月份和年份相同(GETDATE()
),您可以使用
DECLARE @date1 DATETIME
SET @date1 = '2011-03-01'
IF DATEDIFF(MM, @date1, GETDATE()) = 0
BEGIN
-- Do your work
END
您可以使用DATEDIFF
以月为单位查找两个日期之间的差异。这将返回跨越的时间段边界数,因此在检查月份时,如果两个日期在同一日历年和日历月内,则仅返回0
DECLARE @date1 DATETIME
SET @date1 = '2011-03-01'
SELECT DATEDIFF(MM, @date1, '2011-02-28') -- -1
SELECT DATEDIFF(MM, @date1, '2011-03-20') -- 0
SELECT DATEDIFF(MM, @date1, '2010-03-01') -- -12
因此,要检查日期是否与今天的月份和年份相同(GETDATE()
),您可以使用
DECLARE @date1 DATETIME
SET @date1 = '2011-03-01'
IF DATEDIFF(MM, @date1, GETDATE()) = 0
BEGIN
-- Do your work
END