jueves, 4 de julio de 2013

Armar fecha con año, mes y día en Transact-SQL

Para generar una fecha en base a tener el año, mes y día en variables numéricas pero en Transact-SQL les propongo crear esta función que de ser una fecha válida nos la retornará con los parámetros enviados y de no ser así regresará NULL:

CREATE FUNCTION dbo.CrearFecha
(@annio SMALLINT, @mes TINYINT, @dia TINYINT)
RETURNS DATETIME AS
BEGIN

DECLARE @tmp CHAR(8), @r DATETIME
SET @tmp = CAST(@annio AS CHAR(4)) + CAST(@mes AS CHAR(2)) + CAST(@dia AS
CHAR(2))
IF ISDATE(@tmp) = 0
SET @r = NULL
ELSE
SET @r = @tmp

RETURN @r
END

GO
SELECT dbo.CrearFecha(2013,7,4) Fecha
GO

Espero les pueda ser de utilidad.

martes, 19 de marzo de 2013

Humor para desarrolladores

Amigos,

Acá les dejo unos gifs en honor a nuestro gremio para que se diviertan un poco.

Cuando vamos a poner en producción .....


Cuando encontramos la solución sin buscar en Google ....


Cuando intentamos corregir algo a las 3 de la mañana ...


Cuando la aplicación corre perfectamente ...


Cuando después de haber trabajado tanto, nuestro módulo nunca será utilizado ...


Cuando lo que no testeamos en desarrollo funciona perfecto en producción ...


Cuando aplicamos diseño por primer vez ...


Cuando por fin nos dan acceso al root ...


Cuando lanzamos nuestro script después de largas horas de desarrollo


Cuando me voy de fin de semana y todo el mundo intenta corregir bugs ...


Cuando nos piden una mano un viernes por la tarde ...


Cuando el usuario intenta entrar a la aplicación por primera vez ...


Cuando un bug pasa desapercibido en una presentación ...


Cuando el cliente quiere cambiar las especificaciones 2 días antes de la subida a producción ...


Cuando tenemos que hacer un desarrollo sin especificaciones ...


Cuando el script funciona ...


Cuando el jefe del proyecto entra en la sala de trabajo ...


Cuando escuchamos lo que el vendedor le está ofreciendo al cliente ...


Cualquier parecido con la realidad es pura coincidencia no lo creen??

jajajajajaja

miércoles, 13 de marzo de 2013

SPLIT en Transact-SQL

Acá les dejo la forma en que podemos usar SPLIT en Transact-SQL.  Recordemos que en este lenguaje no existen los arreglos por lo que retornaremos el resultado en una tabla.

Solamente copien y peguen esta función;


CREATE FUNCTION [dbo].[SPLIT]( @STRING VARCHAR (8000), @DELIMITER NVARCHAR (10) ) RETURNS @VALUETABLE TABLE ([VALUE] VARCHAR(8000)) BEGIN
DECLARE @NEXTSTRING VARCHAR(8000)
DECLARE @POS INT  DECLARE @NEXTPOS INT
DECLARE @COMMACHECK NVARCHAR(1)  
 
SET @NEXTSTRING = ''
SET @COMMACHECK = RIGHT(@STRING,1)    
SET @STRING = @STRING + @DELIMITER  
SET @POS = CHARINDEX(@DELIMITER,@STRING)
SET @NEXTPOS = 1  
 
WHILE (@POS <>  0)  
BEGIN  
SET @NEXTSTRING = SUBSTRING(@STRING,1,@POS - 1)    

INSERT INTO @VALUETABLE ( [VALUE]) VALUES (@NEXTSTRING)    

SET @STRING = SUBSTRING(@STRING,@POS +1,LEN(@STRING))    
SET @NEXTPOS = @POS  
SET @POS  = CHARINDEX(@DELIMITER,@STRING)
END  

RETURN
END

Luego para usarla podemos hacerla de la siguiente manera:

DECLARE @Cliente AS VARCHAR(20)

SET @Cliente = 'CO,SI,SE'

SELECT * FROM dbo.SPLIT(@Cliente, ',')

Y obtendremos el siguiente resultado:

VALUE
CO
SI
SE

Espero esto puedas serles de utilidad.

martes, 15 de enero de 2013

Crystal Reports para Visual Studio 2010 y Visual Studio 2012

Amigos,

Aquí les dejo los links de descarga del instalador Crystal Reports para Visual Studio 2010 y 2012.

Para el caso de Visual Studio 2010 son los siguientes:

Complete Package (EXE)
Redist Installation (32 Bits)
Redist Installation (64 Bits)

Y para Visual Studio 2012 son los siguientes:

Complete Package (EXE)
Redist Installation (32 Bits)
Redist Installation (64 Bits)

Espero les sea de utilidad.

martes, 20 de noviembre de 2012

Temo el día en que la tecnología sobrepase nuestra humanidad .... (Albert Einstein)

TIEMPOS MODERNOS, triste realidad! qué diálogo tan interesante… !!??

Compartiendo con mis amigos una taza de café

Compartiendo con mi hijo

Día de sol

Vamos en el auto

Vacaciones en la Playa

Vamos al estadio?

No me interrumpan, estoy estudiando

Fin de semana en casa

Vamos a disfrutar del Museo

Navidad en familia

 Noche de pareja

En el restaurante

Una tarde de “amigas”

Mis padres no tienen mucho tiempo para mi

Es en serio?


Y esto dicen muchos: “Gracias a Dios pertenezco a otra generación”!!!

HASTA DÓNDE HEMOS LLEGADO, VERDAD?

jueves, 24 de mayo de 2012

Like en Crystal Reports

Es muy sencillo utilizar el comando LIKE en Crystal Reports tal como lo usamos en SQL.  La única diferencia es que en lugar de usar el %, aquí usaremos el * de la siguiente forma:

Esto nos mostraría todos los clientes:

{CLIENTES.CLIENTE] LIKE "*"

Así mostraríamos los clientes que contengan MA:

{CLIENTES.CLIENTE} LIKE "*MA*"

Y si el criterio de búsqueda proviene de un parámetro, podemos hacer lo siguiente:

{CLIENTES.CLIENTE} LIKE "*" + {?CLIENTEBUSCAR} + "*"

Si queremos usar ese mismo parámetro para que el usuario decida si quiere ver todos los clientes o bien solo los que cumplan con el criterio ingresado, debemos configurar el parámetro para que su valor DEFAULT sea * y con esto si el usuario no lo cambia le mostraremos todos los clientes, y si lo cambia pues le mostraremos los que cumplan la condición.

Ya en la fórmula lo utilizaríamos de la siguiente forma:

{CLIENTES.CLIENTE} LIKE ( IIF( {?CLIENTEBUSCAR} = "*", "*", "*" + {?CLIENTEBUSCAR} + "*" ) )

Y por último, si deseamos usar NOT LIKE en Crystal Reports, usamos cualquiera de las formas descritas anteriormente de la siguiente forma:

NOT ( {CLIENTES.CLIENTE} LIKE "*MA*" )

De nuevo salu2.