Datahoras seriais
O Analytics usa datahoras seriais para armazenar datas, datahoras e horas, bem como para executar cálculos de datahora.
Você pode encontrar um valor de datahora serial ao trabalhar com expressões de datahora. Por exemplo, operações de subtração que envolvem apenas valores de data, datahora e hora devolvem resultados na forma de uma datahora serial.
O que é uma datahora serial?
Datahoras seriais são números que usam números inteiros para representar datas e uma fração decimal de 24 horas para representar horas. Por exemplo:
- 42004
- 42004.50000
- 0.75000
- 42004.74618055555556
A parte anterior ao ponto decimal é a data e a parte após o ponto decimal é o horário.
A parte da data
A parte da data é o número de dias que passaram desde 1 de janeiro de 1900. Portanto, uma data serial ‘1’ é equivalente a 02 de janeiro de 1900. Uma data serial ‘0’ (zero) não é contada. Uma data serial ‘42004’ é equivalente a 1 de janeiro de 2015.
A parte da hora
A parte horária da datahora serial usa um relógio 24 horas. Portanto, 0,5 é equivalente a 12 horas, 0,75 é equivalente a 18 horas, 0,04167 é equivalente a 1 hora e assim por diante.
Valores regulares de datahora equivalentes
As datahoras seriais acima são equivalente aos valores de datahora regulares seguintes:
- 42004 = 01 de janeiro de 2015
- 42004,50000 = 01 de janeiro de 2015 12:00:00
- 0,75000 = 18:00:00
- 42004,74618055555556 = 01 de janeiro de 2015 17:54:30
Conversão de datahoras seriais em valores de datahora regulares
Três funções de conversão permitem que você converta datahoras seriais em valores de datahora regulares com um tipo de dados datahora:
Você pode converter datahoras seriais para obter resultados de algumas expressões de datahora mais compreensíveis para humanos ou converter um valor numérico de datahora serial para um tipo de dados de datahora a ser usado em outra expressão que exija o tipo de dados datahora.
A tabela abaixo mostra exemplos das três funções.
Expressão |
Resultados |
---|---|
STOD(42004) |
01 Jan 2015 |
STODT(42004,50000) |
01 Jan 2015 12:00:00 |
STOT(0,75000) |
18:00:00 |
STODT(42004,74618055555556) | 01 Jan 2015 17:54:30 |
STOT(`T173000` - `T093000`) |
08:00:00 |
Conversão de datahoras regulares em valores de datahora seriais
Normalmente, não é necessário converter datahoras regulares em valores de datahora seriais. As datahoras seriais são usadas internamente pelo Analytics para armazenamento e cálculos de datahora.
Se você quiser ver o valor de datahora serial que corresponde a uma datahora normal, use os seguintes métodos:
Valore regular de datahora |
Expressão de conversão |
Datahora serial correspondente |
---|---|---|
01 Jan 2015 |
`20150101`-`19000101` |
42004 |
17:54:30 |
1.0000000000*((HOUR(`t175430`)*3600)+(MINUTE(`t175430`)*60)+SECOND(`t175430`))/86400 |
0.7461805556 |