Передача даты и времени в хранимую процедуру и добавление 1 секунды к дате и времени - PullRequest
0 голосов
/ 25 июня 2009

Здесь я хочу достичь двух вещей.

  • Список Я хочу передать дату и время в мою хранимую процедуру в следующем формате ('2007-05-28 00:00:00'), но, похоже, это не сработает, если я не использую {ts ' 2007-05-28 00:00:00 '}

  • Далее я хочу увеличить @SEAL_DATE на секунду, чтобы его можно было использовать для проверки дат между введенным временем и секундой после.

Заранее спасибо

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[getSealRecordDate]  (@SEAL_DATE DATETIME)
    AS
-- Declare variables


 SELECT DISTINCT "FGFSTRANSFERS"."CONSIDERATION", "FGFSTRANSFERS"."AMOUNT_TRANSFER", "FGFSTRANSFERS"."DATE", "FGFSTransferDetails"."TRANSFER_ID", "FGFSTRANSFERS"."TRANSFER_ID", "FGFSTRANSFERS"."Curr", "FGFSTransferDetails"."CURR", "FGFSCUSTOMERS"."CMF_NAME_1", "FGFSCUSTOMERS"."CMF_NAME_2"
 FROM   ("FGFSInvestment"."dbo"."FGFSTransferDetails" "FGFSTransferDetails" INNER JOIN "FGFSInvestment"."dbo"."FGFSTRANSFERS" "FGFSTRANSFERS" ON "FGFSTransferDetails"."TRANSFER_ID"="FGFSTRANSFERS"."TRANSFER_ID") INNER JOIN "FGFSInvestment"."dbo"."FGFSCUSTOMERS" "FGFSCUSTOMERS" ON "FGFSTRANSFERS"."CUSTODIAN"="FGFSCUSTOMERS"."CMF_ACCOUNT"
 WHERE  ("FGFSTRANSFERS"."DATE">= @SEAL_DATE AND "FGFSTRANSFERS"."DATE"<{ts '2007-05-28 00:00:01'})

 -- EXEC getSealRecordDate {ts '2007-05-28 00:00:00'} 

Псевдо-SQL так должно быть: WHERE ("FGFSTRANSFERS". "DATE"> = @SEAL_DATE AND "FGFSTRANSFERS". "DATE" <@ SEAL_DATE + 1 sec) <- что-то подобное </p>

Ответы [ 3 ]

1 голос
/ 25 июня 2009
DATEADD(second, 1, @SEAL_DATE)
1 голос
/ 25 июня 2009

Посмотрите Как работает с датами в SQL Server?

используйте dateadd для добавления секунды

select dateadd(second,1,'20090625 00:00:00.000')
0 голосов
/ 25 июня 2009

Для второй части используйте DATEADD

DateAdd (second, 1, @DateVariable)

...