Ho una colonna nella mia tabella 2005 sql server che dovrebbe contenere il numero di mesi in cui un dipendente è stato in servizio.come ottenere il numero in mesi tra due date in sql server 2005
Poiché ho anche la data in cui il dipendente era impegnato, voglio che la colonna "mesi_In_Servizio" sia una colonna calcolata.
Ora, se si utilizza DATEDIFF(month,[DateEngaged],GETDATE())
come formula per i mesi nella colonna calcolata dal servizio, i risultati sono corretti alcune volte e altre volte errate.
Quale sarebbe il modo più affidabile per ottenere il numero di mesi tra il valore DateEngaged e la data corrente? Quale formula dovrei usare nella mia colonna calcolata?
Potrebbe fornire alcuni esempi di cosa intendi quando dici che a volte sono corretti e in qualche modo non sono loro. –
Potrebbe riadattarmi per favore (modifica) e impostare sql-server-2005 (o anche solo sql-server)? Nota i trattini. Ci sono utenti qui che ignorano le domande di SQL Server (non le loro competenze) ma sono interessati alle domande SQL. –
DateEngaged = '12/20/2009 " CurrentDate = '13/01/2010" Ciò mi dà mesi in servizio come 1 utilizzando "datediff" del mese (mese, [DataEngaged], getdate() + (1)) " Dà anche anni in servizio come 1 utilizzando la formula "datediff (year, [DateEngaged], getdate() + (1))" – StackTrace