Unidad 3. Básico: Funciones en Transact-SQL (II)


DATENAME

Devuelve una cadena de caracteres que representa el valor de la unidad especificada de una fecha especificada.
 

DATENAME(unidad, fecha)

Unidad puede tomar los mismos valores que en la función DATEPART
Cuando la unidad corresponde a mes o día de la semana, devuelve el valor en letras.
Ejemplos:
SELECT 'dd',DATENAME(dd, '20/10/2008')            devuelve 20
SELECT 'mm',DATENAME(mm, '20/10/2008')        devuelve Octubre
SELECT 'yy',DATENAME(yy, '20/10/2008')            devuelve 2008
SELECT 'dw',DATENAME(dw, '20/10/2008')           devuelve Lunes

DATEADD

Devuelve un valor datetime nuevo que resulta de sumar un intervalo de tiempo a una fecha especificada.

DATEADD(intervalo, número, fecha)

“Añade a la fecha número intervalos”.
Valores válidos para intervalo:

Intervalo Abreviaturas Significado
year yy, yyyy año
quarter qq, q cuatrimestre
month mm, m mes
dayofyear dy, y nº día del año
day dd, d día
week wk, ww semana
weekday dw, w día de la semana
hour hh hora
minute mi, n minuto
second ss, s segundo
millisecond ms milisegundo

Si número no es entero, se descarta la parte decimal.
Cuando intervalo es month, el número de días del mes afecta al resultado.
Por ejemplo,
SELECT DATEADD(month, 1, '08/30/2006')
SELECT DATEADD(month, 1, '08/31/2006')
Las dos instrucciones siguientes devuelven 2006-09-30 00:00:00.000.
Agosto tiene 31 días y septiembre tiene 30 días, al agregar un mes al final de agosto, se devuelve el último día de septiembre.

DATEDIFF

Devuelve el número de intervalos que hay entre las dos fechas especificadas.

DATEDIFF( intervalo , fechainicial , fechafinal )

Se resta fechainicial de fechafinal. Para expresar el tipo de intervalo se utilizan los mismos valores que en la función DATEADD.
El valor devuelto es de tipo entero por lo que si el resultado es un número mayor que el máximo entero, la función da error.  Para los milisegundos, el número máximo es de 24 días, 20 horas, 31 minutos y 23.647 segundos. Para los segundos, el número máximo es 68 años.
Por ejemplo:
SELECT DATEDIFF(year, contrato, getdate()) AS [Años trabajados]
FROM empleados;
Nos devuelve la diferencia de años existentes entre la fecha de hoy (GETDATE()) y la fecha de contrato del empleado.

@@DATEFIRST

Devuelve el primer día de la semana establecido con SET DATEFIRST.

SET DATEFIRST

 Establece el primer día de la semana en un número del 1 al 7.

SET DATEFIRST número

Se puede utilizar la función @@DATEFIRST para ver el valor actual de SET DATEFIRST.
La opción SET DATEFIRST se establece en tiempo de ejecución.
Número es un entero que indica el primer día de la semana. Puede ser uno de los siguientes valores.

número Primer día de la semana
1 Lunes
2 Martes
3 Miércoles
4 Jueves
5 Viernes
6 Sábado
7 Domingo

Atrás  Inicio  Adelante





Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies


© aulaClic. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.