Sacando duplicados en una consulta T-SQL

En algunas situaciones necesitamos en un resultset obtener solo un registro cuando el mismo esta mas de una vez y no podemos usar la instrucción DISTINCT. Supongamos el siguiente ejemplo:

  Supongamos que lo que necesitamos es solo traer un código , por ejemplo: el código 200 esta en dos registros y nos queremos…


Insert Select y uso del paralelismo

En muchas oportunidades nos vemos ante la necesidad de hacer un INSERT SELECT , esta operación en SQL Server 2016 ha sufrido algunos cambios importantes que analizaremos en este post. Recordemos que SQL 2016 tiene un  modo de compatibilidad 130 a nivel de base de datos, entonces lo que haremos primero es probar el INSERT…


Reportes R para SSMS

En esta dirección de Github podrán descargar una serie de reportes para SSMS (SQL Server Management Studio) los cuales nos sirven para todo lo que es R dentro de SQL Server Aquí podrán encontrar: R Services – Configuration.rdl This report can be used to view the installation settings of R Services and properties of the…


SQL 2016 VIDEOS: System versioned temporal tables

SQL 2016 incorpora System Versioned Temporal Tables, esta nueva funcionalidad nos permitirá tener un historial de los datos de las tablas pudiendo además consultar la información a una fecha dada. Es una excelente funcionalidad para aquellos que necesitan guardar un tracking de datos ya sea para auditorias u otras cuestiones. En este video les mostrare…


SQL 2016 VIDEOS: JSON en SQL Server

SQL Server 2016 incorpora el manejo de datos JSON en la base de datos de forma muy similar a XML. Si bien JSON no es un tipo de datos aún se puede trabajar con él con distintas funciones que dispone del motor. En el siguiente video mostrare como es el uso de JSON en SQL…


SQL 2016 SESSION_CONTEXT

Muchas de nuestras aplicaciones se conectan con un solo login hacia el motor de base de datos. El problema esta en como hacer para por ejemplo enviar información del usuario real de la aplicación y poderla usar con SQL Server. Antes de SQL 2016 teníamos la opción de configurar CONTEXT_INFO el cual nos permita asignar…


Depurar datos de una tabla con OUTPUT

En algunos sistemas disponemos de información en las tablas grandes que no se usan de forma frecuente. Para este tipo de situaciones existen varias alternativas de solución que van desde borrar o mover los datos a una base de history hasta la utilización de particiones dentro de la misma tabla (Edición Enterprise de SQL Server).…


JSON en SQL 2016

Si señores, como en su momento fue la integración de XML a SQL Server ahora podemos ejecutar queries que retornen un JSON . Simplemente con usar el FOR JSON podremos generar los JSON en nuestros Select


Tipos de datos Unicode e impacto en la performance

Los tipos de datos UNICODE que podemos usar con el NCHAR() o NVARCHAR() en muchos casos son útiles si deseamos guardar caracteres de este tipo. Ahora bien, cual es el problema si diseñamos una base con este tipo de caracteres y no los tenemos? en principio uno podría decir que nada ya que si no…


Como calcular un acumulado de forma eficiente con TSQL

En algunas oportunidades necesitamos hacer alguna consulta que nos genere una acumulado de valores, por ejemplo si tenemos una tabla con transacciones poder ir viendo la evolución del saldo para un articulo transacción por transacción. Este tipo de consultas suelen ser un tanto complejas de resolver y además por lo general poco eficientes. Por suerte…