KB-33740: Convertendo o campo E3TimeStamp do Storage em DateTime.

Descrição:

É possível criar uma consulta convertendo o campo E3TimeStamp da tabela do E3Storage em DateTime?

Solução:

Sim, isto é possível.

Se você está usando Oracle, deve utilizar a função E3GetDateValue, criada automaticamente pelo E3. Esta função formata um número em data. Para visualizar no formato data/hora, utilizamos em conjunto a função TO_CHAR.

Exemplo: 

Query.SQL = "SELECT
TO_CHAR(E3GETDATEVALUE(E3TimeStamp),'DD/MM/YYYY HH:MI:SS')AS E3TimeStamp
,FieldValue FROM <%TableName%> WHERE ( E3TimeStamp  >=
<%StartTime%>  AND   E3TimeStamp <= <%EndTime%> AND
FieldID = <%Fid%> ) ORDER BY E3TimeStamp"

Para mostrar a data com precisão de milisegundos, pode-se complementar o comando TO_CHAR adicionando SSSSS ao formato da data/hora.

Exemplo:

SELECT TO_CHAR(E3GETDATEVALUE(E3TimeStamp),’DD-MM-YYYY HH:MI:SS.SSSSS’)AS E3TimeStamp FROM <%TableName%>

Observação: Para fazer um filtro por data, as variáveis <%StartTime%> e <%EndTime%> devem ser preenchidas com a data/hora no formato Float ou Double. Utilize a função CDbl() do VBScript para converter uma data em Double.

No SQL, podemos utilizar a função CONVERT: CONVERT ( data_type [ ( length ) ] , expression [ , style ] ).

Exemplo:

Query.SQL = "SELECT
FieldID,Convert(datetime,E3TimeStamp -2) AS E3TimeStamp,FieldValue FROM
<%TableName%> WHERE ( E3TimeStamp  >= <%StartTime%>
AND   E3TimeStamp <= <%EndTime%> AND FieldID = <%Fid%> )
ORDER BY E3TimeStamp" 

Nota: É necessário colocar “E3TimeStamp -2”, pois existe uma diferença entre os calendários padrão utilizados pelo Elipse E3 e pelo SQL. A data padrão utilizada no Elipse E3 é 30/12/1899 0:00:00; já no SQL, é 01/01/1900 0:00:00. Ao gravar a informação no banco de dados, o E3 se baseia na sua data padrão; porém, quando o SQL faz a conversão, ele se baseia na sua própria data padrão.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Thoughts on “KB-33740: Convertendo o campo E3TimeStamp do Storage em DateTime.

Leave a Reply

Your email address will not be published.Required fields are marked *