Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在SQL函数中使用Date.Now_Asp.net_Sql_Sql Server_Function - Fatal编程技术网

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