martes, 12 de mayo de 2015

En base a una fecha de un mes dado, obtener la fecha del ultimo día de ese mes - SQL Server

En base a una fecha de un mes dado, como por ejemplo el 11 de enero del 2015, deseamos obtener la fecha del último día de ese mes: 31/01/2015, para eso emplearemos el código SQL que se muestra a continuación
--
--
DECLARE @FechaInicioPeriodo datetime = convert(datetime, '11/01/2015', 103) 
(select dateadd(day,-1,left(convert(varchar(8),dateadd(month,1,@FechaInicioPeriodo),112),6)+'01'))
 

La fecha 11/01/2015 es convertida a datetime, con la estructura 103, a fin de que sea reconocida como una fecha en formato dd/mm/yyyy, tal como lo estamos ingresando, porque de otra manera seria tomada como el 01/11/2015 y nos devolvería como resultado el 30/11/2015, y no es el resultado que esperamos.
sql server
Posted by InfoTacticas Soluciones  |  No comments

5/12/2015 04:30:00 a. m. Share:

jueves, 7 de mayo de 2015

Tiempo Transcurrido entre FechaInicio y FechaFin en Años, Meses, Días y horas, minutos, segundos

En esta oportunidad les dejo el código en T-SQL para obtener el tiempo Transcurrido entre 2 fechas. Esta solución la copie del siguiente enlace y me sirvió mucho, fue la mas simple que encontré. https://social.msdn.microsoft.com/Forums/es-ES/c3830d57-7943-4172-816d-2852dc48a22b/como-obtener-el-tiempo-transcurrido-de-varias-fechas-horas-de-inicio-y-fechas-horas-fin-y-sumar-los?forum=sqlserveres
--
--
set dateformat dmy

declare @fechaInicio as datetime = '01/01/2014 02:00'
declare @fechaFin as datetime = '30/03/2015 08:00'
declare @fechaDiferencia as datetime = @fechaFin - @fechaInicio 
declare @difSegundos as bigint = DATEDIFF( SECOND, @fechaInicio, @fechaFin )

select @fechaInicio as fechaInicio, @fechaFin as fechaFin
, @fechaDiferencia as fechaResultado
--tiempo transcurrido en años, meses, días y en horas:minutos:segundos
, DATEDIFF( YEAR, '19000101', @fechaDiferencia ) as anios
, MONTH( @fechaDiferencia ) -1 as meses
, DAY( @fechaDiferencia ) -1 as dias
, CAST( @fechaDiferencia AS TIME ) as tiempo

El resultado de la consulta lo muestro en la siguiente imagem:

sql server
Posted by InfoTacticas Soluciones  |  No comments

5/07/2015 07:28:00 a. m. Share:

miércoles, 6 de mayo de 2015

Obtener el número de días de un mes dado en SQL Server

Para obtener el número de días del mes de una fecha determinada, una opción es:
  • De una fecha determinada, obtener el primer día de ese mes y con esa fecha se va a trabajar. Sumarle un mes a dicha fecha.
  • Encontrar la diferencia en días entre la fecha aumentada un mes y la fecha inicial.
  • El resultado es el número de días del mes de la fecha especificada.
set dateformat dmy -- para usar la fecha en formato dd/mm/yyyy

declare @fecha datetime
set @fecha = '31/03/2016'
-- Obtenemos el primer dia del mes de interés
declare @fecha_dia_uno date = DATEADD(day, -datepart(day, @fecha) +1, @fecha)

-- A la fecha del primero del mes le sumamos un mes
-- y luego especificamos la diferencia en días entre la fecha del primer dia aumentada un mes y la fecha del primer dia
-- el resultado es el número de dias del mes de la fecha inicial
select DATEDIFF(dd, @fecha_dia_uno, DATEADD(mm, 1, @fecha_dia_uno))

sql server
Posted by InfoTacticas Soluciones  |  No comments

5/06/2015 02:23:00 a. m. Share:

domingo, 5 de abril de 2015

Cómo insertar un salto de línea en Blogger (para plantillas que no permiten ver el vínculo a la entrada completa)

How to insert a jump break on Blogger, in templates ?

Accedemos al editor de entradas, escribimos nuestra entrada completa y marcamos la "zona de corte" con el icono "Salto de línea" donde queramos que finalice el resumen y después se muestre el vínculo de Más información o Leer Más o Leer post completo (u otro texto personalizado) que permita mostrar el contenido completo de nuestro post.
Cuando pulsamos en el icono salto de línea (marcado en la imagen anterior con el icono con una "hoja cortada en dos partes"), nos aparece la barra horizontal en la "zona de corte" donde deseamos crear el salto de línea.
Cuando publiquéis el post, se verá en la página principal lo que está escrito hasta la línea o salto, y justo donde está la línea aparecerá el texto Más información o Leer más. Sin embargo en ocasiones la entrada se muestra recortada pero no aparece el texto de Más información, en ese caso hay que acceder a la opción: Plantilla --> Editar HTML, tal como se ve en la siguiente imagen.
En el código que se muestra, debe estar presente el siguiente bloque de código:

  

Se trata de un etiqueta condicional que indica a Blogger "Si en el post de entrada hay un "hasJumpLink" o salto de línea. Para encontrarlo, usar  CTRL + F  para buscar el texto: hasJumpLink, Si este no se encuentra esa puede ser la razón por la que no nos aparece el texto de Más información en el post. En este caso algunas recomendaciones indican que se debe colocar el código de arriba antes de

blogger
Posted by InfoTacticas Soluciones  |  4 comments

4/05/2015 05:30:00 p. m. Share:

martes, 24 de marzo de 2015

Funciones en SQL para obtener la posicion, ocurrencias de una subcadena dentro de una cadena

A continuación les comparto algunas funciones últiles en SQL Server 2008 / 2008R2 para manipular cadena de caracteres. Espero les sirva.

Obtener la última posición de una subcadena
--
--
create function fnr_ireObtenerUltimaPosicionSubCadena(@cadenaBuscar varChar(max),@caracter varchar(1))
returns int
as
begin
        return len(@cadenaBuscar) - charindex(@caracter, reverse(@cadenaBuscar)) +1
end
El resultado de la siguiente prueba es que la subcadena 'NA' está presente por última vez en la posición 28 de la cadena.
--
--
select dbo.fnr_ireObtenerUltimaPosicionSubCadena('TRUJILLO CAPITAL INTERNACIONAL DE LA PRIMAVERA', 'NA')
Obtener el número de ocurrencias de una subcadena
sql server
Posted by InfoTacticas Soluciones  |  No comments

3/24/2015 08:20:00 a. m. Share:
back to top