sql >> Databáze >  >> RDS >> Sqlserver

Výraz SSIS k nalezení předchozího pátku

Bude to fungovat (můžete nahradit GETDATE() pro @date , právě jsem to použil ke snadnému testování různých dat)

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

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

AKTUALIZACE:Zde je totéž, ale provedeno v SSIS Variable Expression:

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

AKTUALIZACE #2:Zde je návod, jak vrátit předchozí pátek pro JAKÉKOLI datum, nejen pro pondělí

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



  1. Laravel a InnoDB

  2. Hlavní chyba v MySQL 8.x? -- cizí klíče

  3. Zneužívání MySQL JOIN? Jak špatné to může být?

  4. 9 zásadních úkolů, za které jsou odpovědní správci databází