Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Ekspresi SSIS untuk menemukan Jumat sebelumnya

Apakah ini akan berhasil (Anda dapat mengganti GETDATE() untuk @date , saya hanya menggunakannya untuk menguji tanggal yang berbeda dengan mudah)

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

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

PERBARUI:Ini sama, tetapi dilakukan dalam Ekspresi Variabel SSIS:

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

PEMBARUAN #2:Berikut adalah cara mengembalikan hari Jumat sebelumnya untuk tanggal APAPUN, bukan hanya hari Senin

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa cara terbaik untuk menangani DBNull's

  2. Memeriksa validasi numerik

  3. Bagaimana cara menghitung perbedaan jam (desimal) antara dua tanggal di SQL Server?

  4. Hitung hash MD5 dari string UTF8

  5. Jika tidak ada gagal pada SQL CE