Fran Diaz

Reporting Services, Business Intelligence, tecnologías Microsoft y otros

Email Notifications

Recent Posts

Tags

News

Community

Comunidades

  • OnobaNET
  • Grupo de usua
  • INETA
  • Culminis
  • Zona de Grupos de Usuarios Online
  • Foro MSDN Español: Colaborador
  • CartujaDotNet

Webs Amigas

Archives

May 2012 - Artículos

SQL Server 2012 Novedades (IV) – Funciones de Conversión

En este post voy a hablar sobre las nuevas funciones de conversión. En esta nueva versión han metido las funciones Parse(), Try_Parse() y Try_Convert() muy parecidas a las que ya tenemos en .net aunque con algunas limitaciones como vamos a ver ahora.

Sin más, vamos a meternos de lleno en ellas:

Parse(). Esta función nos convierte un string a un tipo válido y una cultura opcional. Si el valor pasado no es posible convertirlo o del tipo que se ha especificado (solo numéricos y de fecha y horas) devolverá una excepción. Veamos unos ejemplos:

Conversión de números:

parse_numeric parse_numeric_results

Fechas. Como podéis ver, si queremos pasarlo a alguna cultura deberemos usar la palabra reservada USING: 

parse_date

Resultado:

parse_date_results

Conversión a un tipo no válido

parse_error

Resultados:

parse_error_results

Try_Parse(). Esta función es similar a la anterior con diferencia de que en caso de que no se pueda convertir al tipo especificado nos devolverá un null en vez de una excepción.

Try_Convert(). Esta función nos va a convertir (con CAST) un valor pasado a un tipo válido. Además podemos aplicar algún estilo como los que nos da la función Convert. Si el tipo no es válido nos dará una excepción. Veamos unos ejemplos

Conversión de un número.

try_convert_int try_convert_results

Conversión con truncado. Si usamos algún tipo de datos tipo string y los caracteres se pasan de los especificado este nos retorna automáticamente un truncado.

try_convert_truncado try_convert_truncado_results

Conversiones con estilo.

try_convert_style try_convert_style_results

Y con esto, damos por finalizado las conversiones con estas funciones, espero que os sea de utilidad Guiño.

Un Saludo

SQL Server 2012 Novedades (III) – Funciones de formato y concatenado

Seguimos con más novedades en SQL Server 2012. Hoy voy a explicar las nuevas funciones Format() y Concat() que nos servirán para formatear y concatenar respectivamente.

Format(). Esta función nos devuelve un valor numérico o de fecha formateado con una cultura opcional. Vamos a ver unos cuantos ejemplos para ver los resultados.

1er Ejemplo. En este primero ejemplo vamos a devolver un tipo float a moneda para diferentes culturas.

format_money

El resultado es el siguiente:

format_money_Results

2º Ejemplo. Para este ejemplo devolveremos el día de la semana de una cultura en concreto.

format_day

El resultado es el siguiente:

format_day_results

3er Ejemplo. En este ejemplo devolveremos una fecha en el formato especificado

format_date

format_date_results

Como veis, podéis dar varios formatos a un tipo numérico o de fecha fácilmente con la función Format(). Tenéis más información acerca del formato en esta url: http://msdn.microsoft.com/library/26etazsy.aspx

Ahora, vamos con la segunda función: Concat() que nos va permitir montar una cadena a partir de varios tipos de datos como vamos a ver ahora:

En este ejemplo vamos a concatenar un texto con un tipo fecha

concat_date

El resultado:

concat_date_results

En este otro ejemplo vamos a ver como podemos unir concat y format para crear frases:

concat_frases

Y el resultado:

concat_frases_results

En este último ejemplo vamos a ver otra cadena constituida por un texto y un tipo de datos numérico para ver como la función no le va a importar la diferencia entre los tipos (al igual que en el primer ejemplo) y nos devuelve igualmente una cadena:

concat_types concat_types_results

Y con esto terminamos este post sobre Concat() y Format(). Espero que sea de vuestro interés Guiño.

Un Saludo

SQL Server 2012 Novedades (II) – Funciones Lógicas

Continuando con la serie de novedades, esta vez le toca a las nuevas funciones Lógicas introducidas en esta nueva versión. Estas son IIF y Choose y nos van a ayudar a con la construcción de nuestras T-SQL. Aquí un unos ejemplos:

IIF(). Esta función funciona igual que el visual basic y nos va a permitir a través de una evaluación de condiciones la elección de un valor verdadero o falso. Vemos un ejemplo a continuación:

Select IIF(DatePart(month,GetDate()) = 5 , 'True','False')

 iif_sample

Choose(). Esta función nos va a permitir seleccionar de una lista de valores lo que le pasemos como index en el primer valor.

Set Datefirst 1
Select Choose(datepart(DW,GetDate()),'Lunes','Martes','Miércoles', 'Jueves', 
'Viernes', 'Sábado','Domingo')

choose_sample

Espero que sea de vuestro interés,

Un Saludo

SQL Server 2012 Novedades (I) – Funciones de fecha y hora

Con la reciente salida de SQL Server 2012, han llegado con muchas novedades que destacar y que seguro nos van a ayudar con nuestro día a día. Hoy voy a mostrar las nuevas funciones de fecha y hora que vienen.

Concretamente son 7 estas funciones, que van orientadas la creación de fechas a partir de la introducción de valores (exceptuando la última). Veamos un ejemplo por cada una de ellas para tener más claro su funcionamiento:

DATEFROMPARTS. Devuelve un tipo de datos Date al pasarle el año, mes y día.

   1:  Select DATEFROMPARTS(2012,03,29) AS Fecha

dateFromParts

DATETIME2FROMPARTS. Devuelve un tipo de datos Datetime2 al pasarle el año, mes, día, horas, minutos, segundos, milisegundos y precisión.

   1:  Select DATETIME2FROMPARTS(2012,03,29,23,26,00,345,4)

datetime2FromParts

DATETIMEFROMPARTS. Esta función es idéntica a la anterior con la diferencia de que esta última devuelve un valor de tipo Datetime.

   1:  Select DATETIMEFROMPARTS(2012,03,01,23,50,0,010)

datetimeFromParts

DATETIMEOFFSETFROMPARTS. Devuelve un tipo de datos Datetimeoffset al pasarle a esta función la fecha, la hora, fracciones, hour_offset, minute_offset y la precisión. El formato que obtendremos de la ejecución de esta función será:

   1:  Select DATETIMEFROMPARTS(2012,03,01,23,50,0,010)

DATETIMEOFFSETFROMPARTS

SMALLDATETIMEFROMPARTS. Devuelve un tipo de dato smalldatetime pasando la fecha, horas, minutos y segundos.

   1:  Select SMALLDATETIMEFROMPARTS(2012,02,01,12,59)

smalldatetime

TIMEFROMPARTS. Devuelve un tipo Time al pasarle la hora, la fracción y la precisión.

   1:  Select SMALLDATETIMEFROMPARTS(2012,02,01,12,59)

TimeFromParts

EOMONTH. Esta función nos va a venir muy a más de uno seguro Risa, ya que devuelve el último día del mes de la fecha que introduzcamos. La síntasis es la siguiente: EOMONTH(Fecha, Mes)

-- Mes actual
Select EOMONTH(GetDate())
-- Mes anterior
Select EOMONTH(GetDate(),-1)
-- Mes siguiente
Select EOMONTH(GetDate(),1)
EOMONTH

Nota con las fracciones y la precisión. Si pasáis una fracción mayor a la que establezcáis en la precisión os va dar un error como el siguiente:

ErrorPrecision

Y con esto, terminamos las funciones de fecha y hora pero no con el resto de funciones Guiño.

Espero que os sea de interés,

Un Saludo!

[SQL Server] Performance Dashboard Reports for SQL Server 2012

Desde hace casi ya un mes tenemos disponibles una serie de customs reports que nos va a ayudar a ver la actividad de nuestro servidor. Muy orientados a ver cuellos de botella en nuestro SQL Server, estos reports podrán ayudarnos a resolver entre otros lo siguiente:

  • Cuellos de botella en CPU (que queries nos están consumiendo más CPU)
  • Cuellos de Boterlla para IO (que queries usan más IO)
  • Recomendaciones de índices generados por el propio optimizador de consultas (índices que faltan por ejemplo)
  • Bloqueos
  • Latch contention

Todos estos Reports no hacen más que mostrarnos la información que ya podemos obtener nosotros mismos desde las SQL Server Dynamic Management Views.

No es necesaria la instalación de SQL Server Reporting Services para poder ver los Reports.

Podemos descargarlos desde aquí: http://www.microsoft.com/en-us/download/details.aspx?id=29063 y una vez terminada la descarga, ejecutamos el .msi y seguimos el asistente que nos instalará los reports.
Podemos elegir la ubicación que por defecto nos lo deja en: <drive>:\Program Files\Microsoft SQL Server\110\Tools\Performance Dashboard\

Properties_Custom_ReportsUna vez instalado el paquete, nos vamos al a carpeta donde nos ha colocado los informes y buscamos el script setup.sql y lo ejecutamos.

Una vez ejecutado tan solo tenemos que abrir el Microsoft SQL Server Management Studio y hacer botón derecho en el nodo principal.
Seleccionamos Reports y luego Custom Reports para buscar los reports que ya hemos descargado y que se encontrarán en la ruta que le hayamos indicado o la que trae por defecto (más arriba podéis verla). Abrimos el que viene con el nombre performance_dashboard_main.rdl y listo. Podremos ver algo como lo siguiente:

 

performance_dashboard_main

Por último, si quieres ver que se cuece bajo estos reports, tan solo tienes que abrirlos en un proyecto de Reporting Services Guiño.

Espero que os sea de interés.

Saludos!

[WebCast] .NET Framework en Mac y Linux. Conoce Mono (I)

El próximo martes 8 de mayo, Second Nug os invita a sacar vuestros desarrollos .NET por la ventana de Windows, para conocer las posibilidades que nos ofrece el proyecto Mono a la hora de explorar otras plataformas: Mac y Linux.

Conoce el proyecto Mono, aprende a crear aplicaciones portables con tus conocimientos en .NET y a crear un entorno de desarrollo adecuado a tal efecto. Por un rato en SNUG hacemos una excursión fuera de nuestro querido Windows, de la mano del mejor guía para la ocasión, Lluis Sánchez miembro del equipo de desarrollo del propio proyecto Mono desde hace 10 años.

Url Registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032511982&Culture=es-ES

foro_mono

Además, todos los eventos anteriores de este año así como sus materiales están aquí disponibles:

- Eventos Desarrollo
Y dispones de nuestro Histórico de Eventos, con los eventos desde 2008 a 2011:

Esperamos veros allí Guiño

Un Saludo