Últimos artículos
Estas son las últimas entradas en el blog.
De todo un poco para solucionar los problemas diarios de un administrador de IT y DBA
Estas son las últimas entradas en el blog.
De todo un poco para solucionar los problemas diarios de un administrador de IT y DBA
VisualFox Pro ha sido uno de los lenguajes que nunca quise aprender, y sin embargo me sigo encontrando con aplicaciones desarrolladas en tal lenguaje.
El primer error con el que me encontré fue no poder correr dichas app, por falta de las DLL requeridas. No hubo oficialemnte un runtime pero existieron varios paquetes que cumplían con dicha opción.
Aquí algunos de ellos
Normalmente edito y creo reportes (en su mayoría) de Crystal Repots XI. Y muchas veces me demoró en la edición por cosas como estas. Por ello decidí abrir esta nueva sección…
Vamos al caso que nos compete en esta ocasión:
Quitar los decimales al usar las funciones cstr o totext
//Ejemplo con cstr con sintaxis Crystal
NumberVar Numero := 200.555;
cstr(Numero, 0);
//End
//Ejemplo con toText con sintaxis Crystal
NumberVar Numero:= 200.555;
ToText(Numero, 0);
//End
Algunos Ejemplos de la función cstr (se aplican para la función totext)
Los siguientes ejemplos son aplicables tanto a sintaxis Basic como Crystal:
Devuelve Verdadero cuando el valor en ({pedidos.ENVIADOS}) es verdadero.
Devuelve «123,45».
Devuelve «12345,67».
Devuelve «12345,68».
Devuelve «12345».
Devuelve «12346».
Devuelve «44,890.20» cuando Monto = 24.45 y Cantidad = 1836.
Imprime la oración «El precio base del elemento A1/4520/B12 es $50.00.» cuando el Número de Elemento es A1/4520/B12 y Precio Base es 50.00, convertido a texto y con formato de dos lugares decimales.
Devuelve «Viernes, 01 Nov 96».
Devuelve «03:30, 95 octubre jue.».
Devuelve «12*10*10 pmStr».
De la siguiente manera podrán quitar (truncar) la fechas para quitarles los microsegundos.
–Como Quedaria sin los microsegundos
SELECT
CampoFecha
,DATEADD(MILLISECOND,
–DATEPART(MILLISECOND ,
CampoFecha
)
,
CampoFecha
)
as Resultado From Tabla
–Update de la Tabla
update Tabla set
CampoFecha=DATEADD(MILLISECOND,
–DATEPART(MILLISECOND ,
CampoFecha
)
,
CampoFecha
)
A continuación una serie de funciones en TSQL útiles para el cálculo de fechas:
-->Mes Actual: ----------------------------------- --Primer día del mes actual SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)) --Último día del mes actual SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)) -->Mes Anterior: ----------------------------------- --Primer día del mes anterior SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,GETDATE())-1,0)) --Último día del mes anterior SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)) -->Mes Siguiente: ----------------------------------- ----Primer día del mes siguiente SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)) ----Último día del mes siguiente SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+2,0)) --> Trimestre Actual: ----------------------------------- ----Primer día del trimestre actual SELECT DATEADD(qq,DATEDIFF(qq,0,GETDATE()),0) ----Último día del trimestre actual SELECT DATEADD(qq,DATEDIFF(qq,-1,GETDATE()),-1)
Con la fecha 10 de Noviembre del 2017 esto serían los resultados
Continuando con el trabajo con fechas con TSQL podemos hacer lo mismo, pero con una función nativa: EOMONTH()
Si les interesa les dejo el link, que incluye como siempre un caso práctico:
my $numeroSemana = POSIX::strftime("%V", gmtime time);
$numeroSemana = date("W");
o date(«W», epoch). Se usa la letra mayúscula ‘W’.
En MySQL:
SELECT WEEKOFYEAR(NOW())
o
SELECT WEEK(NOW(),3)
En MS SQL Server:
SELECT DATEPART( wk, GETDATE() )
Una problemática habitual con la que me enfrentaba en las PCs de desarrollo era que me quedaba sin espacio en los discos por logs inmanejables, y más de una vez olvidar la ubicación de los archivos de las bases en proyectos versionados.
El siguiente script muy simple pero muy útil permite listar las bases, sus respectivos tamaños, archivos que la componen(MDF y LDF). Además es posible agregarle más campos a gusto del lector.( complementa a este script que muestra los tamaños )
select d.database_id,d.name, a.name as filename,a.physical_name as ubication, a.type_desc,(a.size/128)as sizeMB, recovery_model_desc,d.state_desc,compatibility_level from sys.master_files a inner join sys.databases d on (a.database_id = d.database_id) order by a.type,a.size
Espero que les sea útil, y como siempre cualquier sugerencia será tenida en cuenta..
Hasta la próxima…
IT CallCenters
Desarrollo de aplicaciones web y mobile