Página 1 de 1
ayuda con fechas en Mariadb
Publicado: Jue Feb 23, 2017 4:19 pm
por magjem
hola de nuevo !
aqui con un pequeÑo tranque de interpretacion de fechas
entiendo que en mariadb los campos DATE son 'yyyy-mm-dd'
cuando tengo que hacer una comparacion de fechas
if :odb:fechain < mfecha
como debe de ser el formato de los campos de fecha?
e tratado dtos(fechain < dtos(mfecha)
dtosql
y me da error en el campo de fecha
cual es la forma CORRECTA de definir la fechas para hacer comparaciones?
graCIAS
Re: ayuda con fechas en Mariadb
Publicado: Jue Feb 23, 2017 4:31 pm
por ignacio
Hola,
Suponiendo que la expresión la quieres poner en una consulta SQL, lo más sencillo es convertir la fecha en cadena con el formato que requiere MySQL, para ello puedes utilizar el método DToSql(dDate) del propio MariaDB Datasource. Algo así:
Código: Seleccionar todo
cSql := "SELECT * FROM Customers WHERE HIREDATE > " + oMariaDB:DToSql( Date() )
No obstante, lo más sencillo es utilizar toda la potencia del Datasource:
Código: Seleccionar todo
cSql := "SELECT * FROM Customers WHERE HIREDATE > ?"
WITH OJECT oMariaDb
:Query( :BuildSqlSt( cSql, Date() ) )
END WITH
Saludos
Re: ayuda con fechas en Mariadb
Publicado: Jue Feb 23, 2017 5:23 pm
por magjem
GRAcias Ignacio;
lo que busco es la diferencia en dias de 2 fechas
fecha del campo datein porjempo
contra la fecha de hoy date()
al cliente le cayo el RANSOMWARE y llevo 2 dias tratando de limpiar la encripcion del virus
casi lo e logrado pero ya que todos los programas y archivos se encriptaron por el virus
trate de convertir los dbf a maria
y no doy con la combinacion de formato adecuada para hacer Mdias := ( ::ods:datein - dtosql(date())
y casi no e dormido en 2 dias
gracias por la ayuda
Re: ayuda con fechas en Mariadb
Publicado: Jue Feb 23, 2017 6:41 pm
por ignacio
Hola,
Necesito que explique mejor lo que está intentando hacer. Lo siento, pero no termino de enterarme. Las fechas se pueden restar en SQL al igual que en Harbour. Tan sólo hay que usar la función adecuada. Por ejemplo: Registros cuyo campo 'time stamp' haya sido modificado en los dos últimos días:
Código: Seleccionar todo
SELECT * FROM Customers WHERE DATEDIFF( MyTimeStampField, Now() ) <= 2
Le deseo mucha suerte con el virus. Si el ciente utilizaba Dropbox para hacer copia de seguridad de sus datos es posible que pueda recuperar todo. No tiene más que acceder vía web a Dropbox y restaurar versiones anteriores de todos los archivos. Es pesado pero merece la pena. Así lo hice yo y creo que me aseguré el cliente hasta que me jubile
Saludos
Nota: DateDiff() devuelve los días entre dos fechas y Now() devuelve la Fecha-hora actual
Re: ayuda con fechas en Mariadb
Publicado: Jue Feb 23, 2017 6:53 pm
por magjem
GRACIAS de nuevo por tu tiempo
SELECT stock,datein, rel FROM storagex WHERE DATEDIFF( datein, Now() ) <= 8 and !rel
me muestra records de mas de 8 dias de diff
que hice mal?
Re: ayuda con fechas en Mariadb
Publicado: Jue Feb 23, 2017 7:11 pm
por magjem
SELECT stock,datein, rel, lst_7day FROM storagex where datein >= '2017-02-14' and datein <= '2017-02-21'and DATEDIFF(now(), datein ) <= 8 ;
update last7day with dtosql(now())
es lo que quisiera hacer per me da error
una ves funcione en heidi
como hago lo mismo en xailer?
el cliente fue tan inteligente que compro un disco de 3tb y que para respaldos en el mismo server.............obvio se jodio tMBIEN
GRACIAS
Re: ayuda con fechas en Mariadb
Publicado: Jue Feb 23, 2017 7:53 pm
por magjem
Gracias MIL!!
quedo como se requeria...............
espero y esto le ayude a otros mariaxaileros!