SSIS – Modifica colonna data dal 15 al 1 ° mese

SELECT * FROM [MarkTSK] WHERE [MonthlyDt] IS NOT NULL --AND --SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 

Ciao gente. Qualcuno sa come scrivere correttamente questa affermazione per visualizzare il PRIMO di each mese? Ho un file Excel che sto importndo in un server che utilizza MS SSIS (VisualStudio 2008). Le date sono mensili, ma gli ultimi mesi sono stati il ​​15 giugno, maggio, aprile ecc. Il mio intento è quello di farle mostrare tutti i primi del mese. Tutti i mesi prima di gennaio 2015 sono stati il ​​primo del mese.

Query SQL sopra è quello che ho scritto nell'editor di origine di Excel.

Grazie

Questo dovrebbe sempre darvi il primo del mese corrente

 SELECT DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0) 

per tirare indietro il primo del mese per le date nella tua table qualcosa di simile dovrebbe farlo

 SELECT DATEADD(MONTH,DATEDIFF(MONTH,0,[MonthlyDt]),0) FROM [MarkTSK] WHERE [MonthlyDt] IS NOT NULL 
 SELECT *, DATEADD('d',-DAY([MonthlyDT])+1, [Date]) AS [MonthD] FROM [MarkTSK] WHERE [MonthlyDT] IS NOT NULL 

Grazie a tutti. Lo SCRIPT sopra ha lavorato per me. Tutte le date che non erano il 1 ° del mese, ora si presenta come il primo.

Utilizza DatePart per estrarre manualmente il mese e l'anno. Qualcosa di simile a:

 SELECT Convert(date, DatePart('yyyy', [MonthlyDt]) + DatePart('mm', [MonthlyDt]) + '01' ) FROM [MarkTSK] WHERE [MarkTSK] IS NOT NULL 

(Disclaimer: codice non testato)