Funzione di SQL Server DATEFROMPARTS per le versioni precedenti al 2012
Introduzione
Questa è una funzione abbastanza semplice per sostituire la funzionalità mancante della funzione DATEFROMPARTS in SQL Server 2012 e versioni successive. È una semplice concatenazione di anno, mese e giorno in un formato di data e restituito come data. Una volta creato, chiamalo come faresti con qualsiasi altra funzione.
Durante il test per alcune date di Pasqua automatiche aggiuntive DATETIME2, abbiamo riscontrato che alcune date precedenti a 1000AD potrebbero essere errate a causa della lunghezza del testo. Usiamo una funzione per garantire la lunghezza di ogni parte della data, quindi prendila dal link sottostante.
Questa tende a essere una parte cruciale delle altre funzioni di data che utilizziamo ed è stata implementata nel NHS e nei database legali.
SQL
CREATE FUNCTION Dates.DateFromParts(@Year SMALLINT,@Month SMALLINT,@Day SMALLINT) RETURNS DATETIME2 AS BEGINDECLARE @Date DATETIME2=Dates.DatePad(@Year,4)+'-'+Dates.DatePad(@Month,2)+'-'+Dates.DatePad(@Day,2)RETURN @DateENDGO