Share via


DATETIMEOFFSETFROMPARTS (Transact-SQL)

Devuelve un valor datetimeoffset para la fecha y la hora especificadas, y con los desplazamientos y la precisión indicados.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, 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.

  • hour_offset
    Expresión entera que especifica la parte de hora del ajuste de zona horaria.

  • minute_offset
    Expresión entera que especifica la parte de minutos del ajuste de zona horaria.

  • precision
    Literal entero que especifica la precisión del valor datetimeoffset que se va a devolver.

Tipos de valor devuelto

datetimeoffset ( precision )

Comentarios

DATETIMEOFFSETFROMPARTS devuelve un tipo de datos datetimeoffset totalmente inicializado. Los argumentos de desplazamiento se usan para representar el ajuste de zona horaria. Si se omiten los argumentos de desplazamiento, se supone que el ajuste de zona horaria es 00:00; es decir, no hay ningún ajuste de zona horaria. Si se especifican los argumentos de desplazamiento, ambos argumentos deben estar presente y ambos deben ser positivos o negativos. Si se especifica minute_offset sin hour_offset, se genera un error. Si otros 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 DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;

El conjunto de resultados es el siguiente.

Result
-------------------------------------------
2010-12-07 00:00:00.0000000 +00:00

(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:

  1. Cuando fractions tiene el valor 5 y precision tiene un valor de 1, el valor de fractions representa 5/10 de un segundo.

  2. Cuando fractions tiene el valor 50 y precision tiene un valor de 2, el valor de fractions representa 50/100 de un segundo.

  3. Cuando fractions tiene el valor 500 y precision tiene un valor de 3, el valor de fractions representa 500/1000 de un segundo.

SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 5, 12, 30, 1 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 50, 12, 30, 2 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 500, 12, 30, 3 );
GO

El conjunto de resultados es el siguiente.

----------------------------------
2011-08-15 14:30:00.5 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.50 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.500 +12:30

(1 row(s) affected)

Vea también

Referencia

datetimeoffset (Transact-SQL)