sql >> Database teknologi >  >> RDS >> Sqlserver

SSIS udtryk at finde forrige fredag

Vil dette virke (du kan erstatte GETDATE() for @date , jeg brugte det bare til nemt at teste forskellige datoer)

DECLARE @date DATETIME
SET @date = '2013-01-14'

SELECT
    PrevFriday = CASE WHEN DATEPART(weekday, @date) <> 2 THEN @date
                      ELSE DATEADD(DAY, -3, @date)
                 END

OPDATERING:Her er det samme, men udført i SSIS Variable Expression:

DATEPART("dw", GETDATE()) != 2?
GETDATE():
DATEADD("dw", -3, GETDATE())

OPDATERING #2:Sådan returnerer du den foregående fredag ​​for ENHVER dato, ikke kun mandag

SELECT DATEADD(DAY, -1 - (DATEPART(weekday, @date) % 7), @date)



  1. Indsætte i tabel fra tabelvariabel?

  2. Erlang emysql iPhone Emoji-kodningsproblem

  3. Fjern DEFINER-klausulen fra MySQL Dumps

  4. Hvad er forskellen mellem Integrated Security =True og Integrated Security =SSPI?