0
我正在做一些匹配來自不同表格的時間序列數據的工作。 由於此表有1秒的時間序列和類似「最接近的小時」列列的例子:Postgresql WHERE timea = timeb,如何指定精度?
"datetime" "closesthourdatetime"
"01/01/2005 00:30:00" "01/01/2005 01:00:00"
"01/01/2005 00:30:01" "01/01/2005 01:00:00"
"01/01/2005 00:30:02" "01/01/2005 01:00:00"
如果我運行
SELECT time_series_only.closesthourdatetime
FROM measdata.time_series_only
WHERE time_series_only.datetime = time_series_only.closesthourdatetime
我沒有得到所有的結果我想希望,不像跑步
SELECT DISTINCT time_series_only.closesthourdatetime
FROM measdata.time_series_only
我在哪裏。
我猜這是因爲pgsql日期時間實際上是數字值與時間作爲一天的一部分,所以毫秒可能不完全匹配我不關心。
有沒有一種方法來查詢這一點,但指定精確到秒或分鐘 WHERE time_series_only.datetime = time_series_only.closesthourdatetime 沒有這樣一個令人費解的大概慢查詢? :
SELECT DISTINCT time_series_only.closesthourdatetime
FROM measdata.time_series_only
--WHERE
--time_series_only.datetime = time_series_only.closesthourdatetime
/*EXTRACT (YEAR FROM time_series_only.datetime) = EXTRACT(YEAR FROM time_series_only.closesthourdatetime)
AND EXTRACT (MONTH FROM time_series_only.datetime) = EXTRACT(MONTH FROM time_series_only.closesthourdatetime)
AND EXTRACT (DAY FROM time_series_only.datetime) = EXTRACT(DAY FROM time_series_only.closesthourdatetime)
AND EXTRACT (HOUR FROM time_series_only.datetime) = EXTRACT(HOUR FROM time_series_only.closesthourdatetime)
AND EXTRACT (MINUTE FROM time_series_only.datetime) = EXTRACT(MINUTE FROM time_series_only.closesthourdatetime)
AND EXTRACT (SECOND FROM time_series_only.datetime) = EXTRACT(SECOND FROM time_series_only.closesthourdatetime)
'date_trunc()'可以做你想做的。 –
'01/01/2005 00:29:59'最接近的時間是什麼?它是向下還是向下? –
01/01/2005 00:29:59將向下舍入 – SolarBrian