Sesión #05
Sesión #05
Sesión #05
El operador “ROLLUP” permite resumir los valores de grupo y se usa normalmente para producir promedios acumulados o sumas
acumuladas.
Puede hacer esto aplicando la función de agregación en la lista de columnas de “SELECT” para cada columna en la cláusula
“GROUP BY” moviéndose de izquierda a derecha.
El operador “CUBE” permite crear y resumir todas las posibles combinaciones de grupos basadas en la cláusula “GROUP BY”.
La cláusula “OVER” con funciones de agregación.
La cláusula OVER usada con las funciones de agregación permite crear particiones de datos bajo determinado criterio, y calcular
la función de agregación para cada partición con la ventaja de que permite mostrar los elementos que forman el consolidado de
la partición.
Uso del operador “PIVOT”.
Con mucha frecuencia necesitamos ver los datos en base a múltiples dimensiones (o entidades). En las versiones antiguas de SQL
Server disponemos de los operadores “ROLLUP” y “CUBE” que se utilizan con la cláusula “GROUP BY”, y permiten ver data
resumida en base a distintas dimensiones.
Las ultimas versiones de SQL Server incorporan el operador “PIVOT” que es mas fácil de entender e implementar que los
operadores “ROLLUP” y “CUBE”. Por ejemplo, con el operador “PIVOT” podemos rotar filas y mostrarlas como columnas para
obtener una vista diferente de los datos. El resultado de “PIVOT” es una tabla de doble entrada.
FUNCIÓN DESCRIPCIÓN
SYSDATETIME ( ) Retorna un valor datetime2(7) con la fecha y hora del sistema (fecha y hora en el servidor).
SYSDATETIMEOFFSET ( ) Retorna un valor datetimeoffset(7) con la fecha y hora del sistema (fecha y hora en el
servidor) incluyendo el ajuste por zona horaria.
CURRENT_TIMESTAMP Retorna un valor datetime con la fecha y hora del sistema (fecha y hora en el servidor), es una
función “ANSI SQL”.
GETDATE () Retorna un valor datetime con la fecha y hora del sistema (fecha y hora en el servidor), es una
función “T-SQL”.
Funciones de Fecha y Hora.
FUNCIÓN DESCRIPCIÓN
DATEFROMPARTS (año,mes,dia) Devuelve un dato de tipo date para el año, mes y día especificados.
DATETIMEFROMPARTS Devuelve un dato de tipo datetime para los valores especificados.
(año,mes,día,hora,minutos,segundos,milisegundos)
DATETIME2FROMPARTS Devuelve un dato de tipo datetime2 para los valores especificados.
(año, mes, día, hora, minutos, segundos, fracción, precisión)
DATETIMEOFFSETFROMPARTS Entrega un valor datetimeoffset para las partes especificadas con el
(año, mes, día, hora, minutos, segundos, fracción, desplazamiento horario especificado.
desplazamiento_hora, desplazamiento_minutos, precisión)
SMALLDATETIMEFROMPARTS Entrega un valor smalldatetime para las partes especificadas.
( año, mes, día, hora, minutos )
TIMEFROMPARTS Entrega un valor time para las partes especificadas.
( hora, minutos, segundos, fracción, precisión )
Funciones de Fecha y Hora.
FUNCIÓN DESCRIPCIÓN
DATEADD (parte_fecha,n,fecha) Genera una nueva fecha a partir de fecha, añadiendo a fecha n unidades de parte_fecha.
EOMONTH ( fecha [, meses_adesplazar ] ) Entrega la fecha del último día del mes para la fecha especificada. Se puede especificar un
desplazamiento opcional.
SWITCHOFFSET ( fechadatetimeoffset, Entrega la fecha y hora en zonahoraria para la fechadatetimeoffset.
zonahoraria )
TODATETIMEOFFSET ( fechadatetime, Convierte fechadatetime a un valor datetimeoffset en la zonahoraria especificada.
zonahoraria )
Funciones de Fecha y Hora.
FUNCIÓN DESCRIPCIÓN
DATEDIFF (parte_fecha,fecha1,fecha2) Entrega la diferencia entre fecha1 y fecha2 en las unidades indicadas en parte_fecha.
FUNCIÓN DESCRIPCIÓN
ISDATE (expresión) Determina si expresión es una fecha válida.
Funciones de Texto y el operador LIKE.
FUNCIÓN DESCRIPCIÓN
SUBSTRING La función de sub cadena en SQL se utiliza para tomar una parte de los datos almacenados
REPLACE Reemplaza parte de una cadena de texto, en función del número de caracteres que especifique, con una cadena de texto
diferente.
OPERADOR “LIKE”:
Operador que se utiliza en la cláusula WHERE, permite hacer una búsqueda basada en un “patrón” en vez de especificar
exactamente lo que se desea (como en IN) o determinar un rango (como en BETWEEN).
Un “patrón” generalmente consiste en comodines:
'A_Z': Toda línea que comience con 'A', otro carácter y termine con 'Z'. Por ejemplo, 'ABZ' y 'A2Z' deberían satisfacer la condición,
mientras 'AKKZ' no debería (debido a que hay dos caracteres entre A y Z en vez de uno).
'ABC%': Todas las líneas que comienzan con 'ABC'. Por ejemplo, 'ABCD' y 'ABCABC' ambas deberían satisfacer la condición.
'%XYZ': Todas las líneas que terminan con 'XYZ'. Por ejemplo, 'WXYZ' y 'ZZXYZ' ambas deberían satisfacer la condición.
'%AN%': Todas las líneas que contienen el patrón 'AN' en cualquier lado. Por ejemplo, 'LOS ANGELES' y 'SAN FRANCISCO' ambos
deberían satisfacer la condición.
Funciones de Configuración.
Las funciones de configuración son todas no deterministas. Esto significa que no siempre devuelven el mismo resultado cada vez
que se las llama, incluso con el mismo conjunto de valores de entrada.
Las funciones deterministas devuelven siempre el mismo resultado cada vez que se invocan con un conjunto específico de
valores de entrada y cuando el estado de la base de datos es el mismo.
Las funciones no deterministas pueden devolver resultados diferentes cada vez que se llaman con un conjunto específico de
valores de entrada aunque el estado de la base de datos a la que tienen acceso permanezca sin cambios.
Por ejemplo, la función AVG siempre devuelve el mismo resultado dadas las condiciones indicadas anteriormente pero la función
GETDATE, que devuelve el valor datetime actual, siempre devuelve un resultado diferente.
Funciones de Configuración.
FUNCIÓN DESCRIPCIÓN
@@DATEFIRST Especifica el primer día de la semana. El valor predeterminado para inglés de EE.UU. es 7, domingo. Esta configuración de
idioma afecta a la interpretación de cadenas de caracteres cuando se convierten en valores de fecha para el
almacenamiento en la base de datos y la presentación de los valores de fecha que se almacenan en la base de datos. Esta
configuración no afecta al formato de almacenamiento de datos de fecha.
@@LANGUAGE Devuelve el nombre del idioma en uso. Para ver información acerca de la configuración de idioma, incluidos los nombres de
idiomas oficiales válidos, ejecute sp_helplanguage sin especificar ningún parámetro.
@@SERVERNAME Devuelve el nombre del servidor local en el que se ejecuta SQL Server. El programa de instalación de SQL Server establece
durante la instalación el nombre del equipo como nombre de servidor.
@@SERVICENAME Devuelve 'MSSQLSERVER' si la instancia actual es la predeterminada; esta función devuelve el nombre de la instancia.