tengo una tabla con dos columnas la primera columna es una fecha y hora (fecha actual) y la otra es una columna datetime (dateReturn).ii necesita para obtener la diferencia entre currentdate y dateReturn a partir del número de días. ¿posible?marca de tiempo y fecha y hora
Respuesta
No, esto no es posible.
Contrariamente a la creencia popular (y el nombre en sí), una columna timestamp
no está realmente relacionada con el tiempo.
Negación: Esta respuesta es específico de SQL Server (de acuerdo con las etiquetas de la cuestión), otros motores de bases de datos podría tener diferentes implementaciones aquí. *
En su lugar, es un número de 64 bits que aumenta constantemente. El valor del número se comparte entre todas las tablas en una única base de datos que tiene dicha columna de marca de tiempo. En otras palabras, si tiene dos de esas tablas, modifique una fila en una, y modifique una fila en la otra, el valor de la marca de tiempo en la primera tabla sería X, y en la segunda tabla sería X + 1.
as per the documentation of timestamp:
Cada base de datos tiene un contador que se incrementa para cada operación de inserción o actualización que se realiza en una tabla que contiene una columna de marca de tiempo dentro de la base de datos. Este contador es la marca de tiempo de la base de datos. Esto rastrea un tiempo relativo dentro de una base de datos, no un tiempo real que pueda asociarse con un reloj.
Como tal, el valor no está relacionado con la fecha y hora reales en que se insertó o se modificó por última vez, y no se puede convertir a esa fecha/hora de ninguna manera.
El único propósito de una columna timestamp
es tener algo único, que está garantizado que va en aumento. Dado que el valor es de 64 bits, tendrá acceso a las operaciones 18 446 744 073 709 551 616
que requieren una columna timestamp
antes de restablecer el valor. Si tiene una base de datos que puede manejar un millón de tales operaciones cada segundo, aún tendrá que esperar alrededor de 584 554 años antes de que se restablezca el valor, por lo que diría que cumple con los requisitos de exclusividad.
El tipo de datos timestamp en el servidor sql no almacena una fecha u hora. Es más una columna de mantenimiento de versión que se actualiza cada vez que se actualiza la fila. Por lo tanto, debe reconsiderar el tipo de datos de esta columna
Si su columna tiene el tipo (relativamente raro) timestamp
, la respuesta de Lasse V. Karlsen es correcta.
Si las dos columnas tienen el tipo datetime
, puede:
select datediff(day, dateReturn, currentdate)
from YourTable
Ver el datediff function.
- 1. marca de tiempo Unix de fecha y hora en Android
- 2. de fecha y hora a la marca de tiempo
- 3. Convertir marca de tiempo a fecha y hora en erlang
- 4. marca de tiempo Unix VS fecha y hora
- 5. SQL Server 2005 Fecha Marca de fecha y hora Consulta
- 6. Obtener Fecha y hora actual y el tiempo con [fecha NSDate] fecha y hora
- 7. JDBC de marca de hora y fecha GMT emite
- 8. Convertir marca de tiempo en fecha/hora legible PHP
- 9. hora y la fecha del sello de tiempo con php
- 10. Marca de tiempo de Unix a fecha y hora en django con zona horaria
- 11. MySql, combinando la columna de fecha y hora en una marca de tiempo
- 12. Convertir la marca de tiempo de Json a la fecha y hora normal en javascript
- 13. ¿Cómo guardar la fecha y hora sin el tiempo?
- 14. En JDBC, cuándo usar el tiempo, Fecha y Hora
- 15. Convertir la marca de tiempo microsegundo a fecha y hora en Python
- 16. convertir la marca de tiempo mysql en la fecha y hora reales?
- 17. Cómo convertir una marca de tiempo UTC a fecha y hora del sistema en ABAP
- 18. de fecha y hora
- 19. Obtener marca de tiempo de fecha ('z') y año
- 20. fecha php de marca de tiempo Unix
- 21. Rieles: obtener la fecha de la marca de fecha y hora
- 22. Conversión de fecha y hora a hora POSIX
- 23. C++ fecha y hora
- 24. Compilar fecha y hora
- 25. Fecha y hora en el número entero
- 26. Fecha y hora en java
- 27. php - ayuda para convertir la marca de fecha y hora en formato de hora legible
- 28. Fecha y hora de división en una fecha y un valor de tiempo
- 29. Formato de fecha y hora
- 30. git: zona horaria y la fecha y hora formato
La mayoría de las veces, una columna de marca de tiempo significa una columna con el tipo "fecha y hora" y el nombre "marca de tiempo". Las columnas con tipo "timestmap" son relativamente raras. – Andomar
En este caso, dijo específicamente que una columna era una fecha y la otra una fecha y hora. –
En otras palabras, el nombre 'currentdate', es un poco inapropiado. Si se supone que el campo contiene la fecha y la hora de la última modificación (o inserción inicial), entonces 'timestamp' es el tipo de datos incorrecto, y una columna datetime y un disparador o similar es más apropiado. –