Un beneficio adicional que no se menciona hasta ahora es que la cuantificación deseable (asignar un valor preciso como perteneciente al mismo rango general de valores) es una operación simple, relativamente fácil y rápida.
Suponga que está escribiendo un informe que resume los eventos de hoy, como la suma y el número de ventas. La fecha y hora de la venta se almacenan como AAAAMMDDHHMISS, simplemente debe mantener los 8 caracteres más a la izquierda (si es una cadena) o la división de enteros (es decir, el piso) por 1,000,000 para reducir su fecha y hora al día de la venta.
De manera similar, si deseaba las ventas del mes, solo conserva los 6 dígitos más a la izquierda, o divide por 100,000,000
Claro, podría argumentar que cualquier manipulación de cadena es posible, una fecha y hora para las ventas de "12-25-2018 12:34 pm" se puede subcadenar y manipular varias veces para obtener el mes y el año. En forma numérica, 122520181234 podría dividirse y modificarse, multiplicarse y dividirse un poco más, y eventualmente también producir un mes y un año.
..pero el código sería realmente difícil de escribir, leer, mantener y entender ...
Incluso los optimizadores de bases de datos sofisticados podrían no ser capaces de utilizar un índice en una columna para una cláusula where si el formato de la fecha era MM / DD / YYYY, pero se recortaron y se reconstruyeron.
En comparación, el almacenamiento de una representación AAAAMMDD y el deseo de diciembre de 2018 conduce a donde las cláusulas de ilk dateasstring LIKE '201812%'
o dateasint BETWEEN 20181200 and 20181299
, algo para lo que se puede usar fácilmente un índice
Por lo tanto, si no hubiera un tipo de datos dedicado para las fechas y la representación de cadena / numérica era la única opción, usar y almacenar los tiempos en alguna representación del intervalo más largo en el intervalo de la izquierda al más corto. -la derecha tiene bastantes beneficios para la facilidad de comprensión, manipulación, almacenamiento, recuperación y mantenimiento del código