Introdução ao uso de tipos de tempo no treinamento de produtos secos DM7 de Shanghai Tengke Education Dream Database

No uso diário do banco de dados, seja registrando o horário de início do serviço ou armazenando o horário do pedido no aplicativo front-end, ele é inseparável do uso de vários tipos de data. Este artigo irá apresentar a você a diferença e o uso de vários tipos de tempo no DM7 Precauções.

 

1. Introdução aos tipos de hora e data no DM7

 

Existem três tipos de hora e data comumente usados ​​no DM7: DATA, HORA e TIMESTAMP.

 

O tipo DATE inclui informações de ano, mês e dia e define qualquer data gregoriana válida entre '-4712-01-01' e '9999-12-31'.

 

O tipo TIME inclui informações de hora, minuto e segundo e define uma hora válida entre '00: 00: 00.000000 'e '23: 59: 59.999999'. A precisão de segundos decimais do tipo TIME especifica o número de dígitos após o ponto decimal no campo de segundos. O intervalo de valores é 0 ~ 6. Se não for definido, a precisão padrão é 0.

 

O tipo TIMESTAMP inclui ano, mês, dia, hora, minuto e segunda informação.

Uma data e hora gregorianas válidas entre 00: 00: 00.000000 'e' 9999-12-3123: 59: 59.999999 '.

 

A precisão de segundos decimais do tipo TIMESTAMP especifica o número de dígitos após o ponto decimal no campo de segundos e o intervalo de valores é de 0 ~ 6. Se não for definido, a precisão padrão é 6.

 

dois. A diferença entre DATE e TIMESTAMP

 

De acordo com a definição acima, sabemos que o tipo DATE só pode armazenar o ano, mês e dia. O que acontecerá quando tentarmos armazenar uma hora completa em DATE? Podemos fazer os seguintes testes:

 

DECLARAR

       TEST1 DATE;

       DATA DO TESTE2;

INÍCIO

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

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

 

       SE TESTE1 = TESTE2 ENTÃO 

       PRINT'TEST1 = TEST2 '; --Se os dois valores forem iguais, exibirá TEST1 = TEST2

       PRINT TEST1;

       ELSEIF TEST1> TEST2 THEN

       PRINT'TEST1> TEST2 ';

       PRINT TEST1;

      FIM SE;

FIM;

 

Os resultados são os seguintes:

 

[Compartilhamento de produtos secos] Introdução ao uso de tipos de tempo em DM7

 

 

Pode-se ver que, quando tentamos armazenar uma hora completa incluindo ano, mês, dia, hora, minuto, segundo e milissegundo no tipo de data, os valores diferentes de ano, mês e dia serão cortados. Portanto, ao comparar dois valores, o resultado é um sinal de igual. Nesse caso, para evitar perda de dados, precisamos do TIMESTAMP para armazenar informações completas de data e hora.

 

3. Migração de ORACLE para DM

 

Os leitores familiarizados com o ORACLE devem entender que o tipo DATE do ORACLE inclui ano, mês, dia, hora, minuto e segundo informações. Portanto, durante a migração de dados de ORACLE para DM, se o tipo DATE não for convertido, os dados de hora, minuto e segundo podem ser perdidos. Neste momento, devemos converter o tipo DATE para TIMESTAMP em DM, conforme mostrado abaixo:

 

Crie tabelas de instância no ORACLE e insira dados de tempo

 

CRIAR TABELA T1 (DATA AAA);

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

COMMIT;

 

Aqui utilizamos a ferramenta DTS para realizar a migração. Devido a limitações de espaço, o processo não será demonstrado aqui. Após a conclusão da migração, a tabela T1 e os dados correspondentes podem ser encontrados no DM.

 

[Compartilhamento de produtos secos] Introdução ao uso de tipos de tempo em DM7

 

As tabelas e os dados foram migrados e o tipo foi convertido em TIMESTAMP. Os dados de hora, minuto e segundo não são perdidos. Aqui, alguns leitores podem perguntar: por que o próprio tipo DATE se tornou TIMESTAMP? Fizemos alguma coisa durante o processo de migração?

 

Na verdade, não especifiquei manualmente o mapeamento do tipo de dados durante o processo de migração. No entanto, quando usamos DTS para migrar do ORACLE para o DM, a ferramenta DTS irá converter alguns tipos por si mesma.

 

[Compartilhamento de produtos secos] Introdução ao uso de tipos de tempo em DM7

 

Conforme mostrado na figura, a ferramenta converteu automaticamente o tipo DATE para o tipo TIMESTAMP. Obviamente, a conversão de tipo durante a migração é mais do que isso na figura Os leitores interessados ​​podem consultar o capítulo sobre mapeamento de tipo de dados padrão no documento de ajuda do DTS.

 

Acho que você gosta

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