Publicado el Deja un comentario

Lista de tablas y SPs SQL Server

Lista de tablas y Stored Procedures de un esquema en un servidor SQL Server versión 2012+

Estas simples instrucciones retorna una lista de las tablas y procedimientos almacenados en un esquema particular de un esquema Sql Server en su versión 2012, el código es el siguiente

-- Lista de tablas
SELECT * FROM INFORMATION_SCHEMA.TABLES

-- Lista de SP's
SELECT * FROM INFORMATION_SCHEMA.routines where routine_type = 'PROCEDURE'

-- Lista de tablas con las columnas y sus descripciones
SELECT	sys.objects.name AS TableName, 
		sys.columns.name AS ColumnName,
		ep.value AS Description
FROM sys.objects
INNER JOIN sys.columns ON sys.objects.object_id = sys.columns.object_id
CROSS APPLY fn_listextendedproperty(default, 
									'SCHEMA', 
									schema_name(schema_id),
									'TABLE', 
									sys.objects.name, 
									'COLUMN', sys.columns.name) ep
ORDER BY sys.objects.name, 
		 sys.columns.column_id
		 
		 
-- Ejemplo listado de tablas para borrar contenido
SELECT 'DELETE FROM ' + TABLE_NAME 
  FROM INFORMATION_SCHEMA.TABLES 
 WHERE TABLE_NAME LIKE 'SCC_%'

Publicado el Deja un comentario

Cálculo de fechas SQL Server

Ejemplo simple para el cálculo de diferencias en fechas

Acá hay una consulta SqlServer para el cálculo de diferencias de fechas sql, el rango de la diferencia está en días minutos y segundos, esto lo uso particularmente para cuando necesito saber el tiempo que ha pasado desde que un dato fue insertado o actualizado hasta la fecha actual.

Como dato adicional puedes consultar esta publicación para el formateo de registros del tipo datetime https://cesarg.cl/formateo-de-una-fecha-en-sql-server/

Este cálculo de fechas lo realicé en una query de SQL Server 2012, es muy sencilla y tiene como base de cálculo la fecha y hora actual del servidor, por otro lado hay que considerar que la unidad que usa sql server para restar o sumar periodos a una fecha es el día, entendiendo esto, por lo que para restar periodos inferiores a días, ejemplo: horas, minutos y segundos se debe dividir 1(día) por 24, 2460 y 2460*60 respectivamente.

El resultado de esta consulta sería algo como esto

Espero que les sea útil y cualquier comentario o mejora no dudes en realizarlo.