sql >> Base de Datos >  >> RDS >> Sqlserver

DATEFROMPARTS() Ejemplos en SQL Server (T-SQL)

Puede usar T-SQL DATEFROMPARTS() función en SQL Server para devolver una fecha valor que se asigna a las partes de la fecha que proporciona como expresiones enteras.

La forma en que funciona es que proporciona tres valores (uno para cada uno de los año , mes y día valores), y SQL Server devolverá una fecha valor basado en los valores que proporcione.

Ejemplos a continuación.

Sintaxis

Primero, aquí está la sintaxis:

DATEFROMPARTS ( year, month, day )

Esto es lo que puede ser cada argumento:

year
Una expresión entera que especifica un año.
month
Una expresión entera que especifica un mes, del 1 al 12.
day
Una expresión entera que especifica un día.

Ejemplo

He aquí un ejemplo de uso:

SELECT DATEFROMPARTS( 2021, 05, 10 ) AS Result;

Resultado:

+------------+
| Result     |
|------------|
| 2021-05-10 |
+------------+

Valores no válidos

Deberá asegurarse de que las partes de la fecha se proporcionen en el orden correcto, de lo contrario, podría terminar con un error. Peor aún, es posible que no obtenga un error (si la parte del día es 12 o menos) y, por lo tanto, podría pasar por alto un problema importante con la forma en que se traduce la fecha.

Este es un ejemplo de un valor no válido:

SELECT DATEFROMPARTS( 2021, 30, 10 ) AS Result;

Resultado:

Cannot construct data type date, some of the arguments have values which are not valid. 

Esto ocurre porque proporcionamos 30 como parte del mes. Esta parte solo aceptará valores entre 1 y 12.

Valores nulos

Si alguno de los argumentos son valores nulos, el resultado es NULL .

Aquí hay un ejemplo usando un valor nulo:

SELECT DATEFROMPARTS( 2021, NULL, 10 ) AS Result;

Resultado:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

Por lo tanto, probablemente no hace falta decir (pero lo diré de todos modos), que si todos los argumentos son valores nulos, el resultado es NULL :

SELECT DATEFROMPARTS( NULL, NULL, NULL ) AS Result;

Resultado:

+----------+
| Result   |
|----------|
| NULL     |
+----------+