strip_tags remove last ejemplo php sql-server sdk time-and-attendance

php - remove - Cómo restaurar la fecha correcta si se insertó recientemente



remove html tags php (3)

Si tengo una máquina ZK Time para registrar la asistencia de los empleados.

A veces, esta máquina inserta la mayor parte de las transacciones en el servidor sql db con una fecha posterior incorrecta como

8-2103 lugar de 11-2016

¿Cuáles son las posibles causas de este problema y cómo restaurar a la fecha correcta si no puedo detectar el problema?


si fue un error estático, puedes

update table set Checktime = DATEADD(YEAR, -97, dateadd(MONTH,-4,checktime)) where checktime > ''2017-12-12''

por ejemplo


Miré el enlace del proveedor que me proporcionó y no ayuda en este caso. Me temo que no podremos responder a esto debido a elementos fuera de SQL Server. Creo que deberá ponerse en contacto con el Soporte del proveedor para esto.

Las preguntas que deberá averiguar son:

  1. ¿Cómo calcula la máquina del tiempo los datos de CheckTime?
  2. ¿Cómo almacena la máquina del tiempo los datos de CheckTime?
  3. ¿Cómo crea la máquina el archivo para exportar a SQL Server?

Esto parece ser un problema con la forma en que el sistema registra los datos de CheckTime o cómo exporta o escribe los datos en el servidor SQL.

En cuanto a la corrección del problema, una declaración de actualización básica lo arreglará, pero dado que hay diferentes fechas, deberá escribir una actualización única para cada caso.


Una posible solución es hacer uso de un disparador para validar la fecha y actualizar la fecha en consecuencia. Suponiendo que la tabla tiene la clave principal como id, si una fila recién insertada tiene una fecha posterior a la actual, se puede restablecer a la hora actual dado que el registro de asistencia de los empleados no puede ser en el futuro.

CREATE TRIGGER CorrectTheDate on Config FOR INSERT AS DECLARE @CT DateTime DECLARE @id int SELECT @CT = i.CheckTime FROM inserted i; SELECT @id= i.id FROM inserted i; if(@CT >= DATEADD(dd,1,getdate())) UPDATE MyTable SET CheckTime=getdate() WHERE id=@id GO