jav*_*ude 14 postgresql date unix-timestamp
我有一个带有abc列的表,其中包含unix时间戳(例如13898161481435),我想在日期之间运行select.
做一个是没有效率的
where TO_CHAR(TO_TIMESTAMP(abc / 1000), 'DD/MM/YYYY') > '14/01/2014 00:00:00' and ..;
Run Code Online (Sandbox Code Playgroud)
这会转换每条记录.
而是做一些像
abc>('14/01/2014 00:00:00'tobigint())和abc <...
但我无法找到任何参考,但相反的情况.
Vig*_*r A 21
试试这个
WHERE abc > extract(epoch from timestamp '2014-01-28 00:00:00')
Run Code Online (Sandbox Code Playgroud)
您无需将其转换为 char 即可进行比较。
WHERE to_timestamp(abc/1000) > timestamp '2014-01-28 00:00:00'
Run Code Online (Sandbox Code Playgroud)
我不认为转换会非常低效,因为时间戳在内部以类似于纪元秒的格式存储(不可否认,具有不同的来源和分辨率)。
如果你真的想走另一条路:
WHERE abc > extract(epoch from timestamp '2014-01-28 00:00:00')
Run Code Online (Sandbox Code Playgroud)