Estoy intentando hacer un informe de stock en almacén ordenador por fecha de entrada (con hora).
He visto que en OIVL tenemos el histórico del almacén y el campo que parece contener la hora es CreateTime (en otros normalente es CreateTS). El caso es que al usar:
to_nvarchar(to_time(T0.“CreateTime”),‘HH24:MI’)
Me da errores, por ejemplo “Error while parsing 819 as TIME at to_time function”
En otras consultas he usado eso mismo (pero con CreateTS) y no me ha dado problemas, ¿en esa tabla se almacena la hora de otra manera?
SELECT T0."TransType", T0."CreatedBy", T0."BASE_REF", T0."DocLineNum", T0."DocDate",
CASE
WHEN LENGTH(T0."CreateTime") = '3' THEN SUBSTRING (CAST(T0."CreateTime" AS VARCHAR(6)),1,1) || ':' || SUBSTRING (CAST(T0."CreateTime" AS VARCHAR(6)),2,3)
WHEN LENGTH(T0."CreateTime") = '4' THEN SUBSTRING (CAST(T0."CreateTime" AS VARCHAR(6)),1,2) || ':' || SUBSTRING (CAST(T0."CreateTime" AS VARCHAR(6)),3,4) END "Hora Creacion", T0."ItemCode" FROM OIVL T0 WHERE T0."DocDate" =[%0]
Así funciona bien, por lo que veo no es una conversión de entero a tiempo sino que simplemente cambia el entero por un string, mira que son enrevesados…