DATETIME2FROMPARTS (Transact-SQL)
Devuelve un valor datetime2 para la fecha y la hora especificadas, y con la precisión indicada.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )
Argumentos
year
Expresión entera que especifica un año.month
Expresión entera que especifica un mes.day
Expresión entera que especifica un día.hour
Expresión entera que especifica horas.minute
Expresión entera que especifica minutos.seconds
Expresión entera que especifica segundos.fractions
Expresión entera que especifica fracciones.precision
Literal entero que especifica la precisión del valor datetime2 que se va a devolver.
Tipos de valor devuelto
datetime2 ( precision )
Comentarios
DATETIME2FROMPARTS devuelve un valor datetime2 totalmente inicializado. Si los argumentos no son válidos, se generará un error. Si los argumentos necesarios son NULL, se devuelve un valor NULL. Sin embargo, si el argumento precision es NULL, se generará un error.
El argumento fractions depende del argumento precision. Por ejemplo, si precision es 7, cada fracción representa 100 nanosegundos; si precision es 3, cada fracción representa un milisegundo. Si el valor de precision es cero, el valor de fractions también debe ser cero; de lo contrario, se produce un error.
Esta función se puede enviar de forma remota a servidores de SQL Server 2012 y superiores. No se puede enviar de forma remota a servidores que tengan una versión inferior a SQL Server 2012.
Ejemplos
A.Ejemplo simple sin fracciones de segundo
SELECT DATETIME2FROMPARTS ( 2010, 12, 31, 23, 59, 59, 0, 0 ) AS Result;
El conjunto de resultados es el siguiente.
Result
---------------------------
2010-12-31 23:59:59.0000000
(1 row(s) affected)
B.Ejemplo con fracciones de segundo
En el siguiente ejemplo se muestra el uso de los parámetros fractions y precision:
Cuando fractions tiene el valor 5 y precision tiene un valor de 1, el valor de fractions representa 5/10 de un segundo.
Cuando fractions tiene el valor 50 y precision tiene un valor de 2, el valor de fractions representa 50/100 de un segundo.
Cuando fractions tiene el valor 500 y precision tiene un valor de 3, el valor de fractions representa 500/1000 de un segundo.
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 5, 1 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 50, 2 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 500, 3 );
GO
El conjunto de resultados es el siguiente.
----------------------
2011-08-15 14:23:44.5
(1 row(s) affected)
----------------------
2011-08-15 14:23:44.50
(1 row(s) affected)
----------------------
2011-08-15 14:23:44.500
(1 row(s) affected)