Introducción al uso de tipos de tiempo en la formación de productos secos DM7 de Shanghai Tengke Education Dream Database

En el uso diario de la base de datos, ya sea registrando la hora de inicio del servicio o almacenando la hora del pedido en la aplicación de interfaz, es inseparable del uso de varios tipos de fecha. Este artículo le presentará la diferencia y el uso de varios tipos de hora en DM7 Precauciones.

 

Uno. Introducción a los tipos de fecha y hora en DM7

 

Hay tres tipos de fecha y hora de uso común en DM7: DATE, TIME y TIMESTAMP.

 

El tipo FECHA incluye información sobre el año, mes y día, y define cualquier fecha gregoriana válida entre '-4712-01-01' y '9999-12-31'.

 

El tipo de HORA incluye información de horas, minutos y segundos, y define una hora válida entre '00: 00: 00.000000 'y '23: 59: 59.999999'. La precisión de segundo decimal del tipo TIME especifica el número de dígitos después del punto decimal en el campo de segundos, y el rango de valores es 0 ~ 6. Si no se define, la precisión predeterminada es 0.

 

El tipo TIMESTAMP incluye información de año, mes, día, hora, minuto y segundo.

Una fecha y hora gregoriana válidas entre 00: 00: 00.000000 'y' 9999-12-3123: 59: 59.999999 '.

 

La precisión de segundos decimales del tipo TIMESTAMP especifica el número de dígitos después del punto decimal en el campo de segundos, y el rango de valores es 0 ~ 6. Si no está definido, la precisión predeterminada es 6.

 

dos. La diferencia entre DATE y TIMESTAMP

 

De acuerdo con la definición anterior, sabemos que el tipo DATE solo puede almacenar el año, mes y día ¿Qué pasará cuando intentemos almacenar una hora completa en el DATE? Podemos hacer las siguientes pruebas:

 

DECLARAR

       TEST1 DATE;

       TEST2 DATE;

EMPEZAR

       SET TEST1 = to_date ('2018-11-0115: 20: 10', 'YYYY-MM-DDHH24: MI: SS'); --Tiempo de depósito 1

       SET TEST2 = to_date ('2018-11-0117: 20: 10', 'YYYY-MM-DDHH24: MI: SS'); --Tiempo de depósito 2

 

       SI TEST1 = TEST2 ENTONCES 

       PRINT'TEST1 = TEST2 '; --Si los dos valores son iguales, mostrará TEST1 = TEST2

       PRINT TEST1;

       ELSEIF TEST1> TEST2 ENTONCES

       PRINT'TEST1> TEST2 ';

       PRINT TEST1;

      TERMINARA SI;

FIN;

 

Los resultados son los siguientes:

 

[Distribución de productos secos] Introducción al uso de tipos de tiempo en DM7

 

 

Se puede ver que cuando intentamos almacenar una hora completa que incluya año, mes, día, hora, minuto, segundo y milisegundo en el tipo de fecha, los valores distintos del año, mes y día se cortan. Por lo tanto, al comparar dos valores, el resultado es un signo igual. En este caso, para evitar la pérdida de datos, necesitamos TIMESTAMP para almacenar información completa de fecha y hora.

 

3. Migración de ORACLE a DM

 

Los lectores que estén familiarizados con ORACLE deben comprender que el tipo DATE de ORACLE incluye información sobre el año, mes, día, hora, minuto y segundo. Por lo tanto, durante la migración de datos de ORACLE a DM, si no se convierte el tipo DATE, es posible que se pierdan los datos de la hora, los minutos y los segundos. En este momento, debemos convertir el tipo DATE a TIMESTAMP en DM, como se muestra a continuación:

 

Cree tablas de instancia en ORACLE e ingrese datos de tiempo

 

CREAR TABLA T1 (FECHA AAA);

INSERT INTO T1VALUES (to_date ('2018-11-01 15:20:10', 'YYYY-MM-DD HH24: MI: SS'));

COMETER;

 

Aquí utilizamos la herramienta DTS para realizar la migración. Debido a limitaciones de espacio, el proceso no se demostrará aquí. Una vez finalizada la migración, la tabla T1 correspondiente y los datos se pueden encontrar en el DM.

 

[Distribución de productos secos] Introducción al uso de tipos de tiempo en DM7

 

Las tablas y los datos se han migrado y el tipo se ha convertido a TIMESTAMP. Los datos de la hora, los minutos y los segundos no se pierden. Aquí, algunos lectores pueden preguntar, ¿por qué el tipo DATE se convirtió en TIMESTAMP? ¿Hicimos algo durante el proceso de migración?

 

De hecho, no especifiqué manualmente la asignación del tipo de datos durante el proceso de migración. Sin embargo, cuando usamos DTS para migrar de ORACLE a DM, la herramienta DTS convertirá algunos tipos por sí misma.

 

[Distribución de productos secos] Introducción al uso de tipos de tiempo en DM7

 

Como se muestra en la figura, la herramienta ha convertido automáticamente el tipo DATE al tipo TIMESTAMP. Por supuesto, la conversión de tipos durante la migración es mayor que la de la figura.Los lectores interesados ​​pueden consultar el capítulo sobre la asignación de tipos de datos predeterminados en el documento de ayuda de DTS.

 

Supongo que te gusta

Origin blog.csdn.net/qq_42726883/article/details/108577683
Recomendado
Clasificación