Created on 04-22-2019 12:55 PM - edited 09-16-2022 07:19 AM
When i am running below
select unix_timestamp('20190131 05:00:00',"yyyyMMdd HH:mm:ss");
output is 1548910800
but when i am running same thing on a table on a column which is big int
select min(IPID.BK_EFF_STRT_DT) ,max(IPID.BK_EFF_STRT_DT) from ipid;
o/p is below
+--------------------------+--------------------------+
| min(ipid.bk_eff_strt_dt) | max(ipid.bk_eff_strt_dt) |
+--------------------------+--------------------------+
| 1512709200000 | 1548910800000
why is extra 0 added in 2nd case
Also
select cast(1548910800000 div 1000 as timestamp) + interval (1548910800000 % 1000) milliseconds;
returns :
2019-01-31 05:00:00
This is causing issue when i am trying something like below it returns 0 rows:
select count(*) from ipid
where unix_timestamp('20190124',"yyyyMMdd") between IPID.BK_EFF_STRT_DT AND IPID.BK_EFF_END_DT;
Created 04-22-2019 03:13 PM
Created 04-22-2019 03:13 PM
Created 04-22-2019 04:07 PM