我有Postgres 9.6索引時間戳列與微秒。該列中的日期非常隨機。我只需要選擇在某個特定時間段內任何秒都具有最後微秒.9999的記錄(比如'2017-05-01 00:00:00'和'2017-05-02 00:00:00' )。sql選擇值的分數值等於9999
來源例如:
mydata, 2017-05-01 00:00:00.0312
mydata, 2017-05-01 00:00:00.9431
mydata, 2017-05-01 00:00:02.0000
mydata, 2017-05-01 00:00:03.9999
mydata, 2017-05-01 00:00:04.9999
mydata, 2017-05-01 00:00:05.0793
mydata, 2017-05-01 00:00:05.8356
所需SQL輸出:
mydata, 2017-05-01 00:00:03.9999
mydata, 2017-05-01 00:00:04.9999
表是巨大的(幾十上百萬條記錄),因此性能是必不可少的。
我也可能需要查找'0000'如'2017-05-01 00:00:02.0000'的記錄,因此查詢需要足夠靈活以提供'0000'而不是'9999'查詢修改。
我不知道如何解決它並尋求你的幫助。
如果你有索引 - 只是確切的價值?..你究竟做了什麼? –
表格顯然有其他值。不過,我需要整個行(考慮SELECT * FROM thetable)匹配相應的時間戳。我將更新問題中的預期輸出。 – uzla
那麼爲什麼不'select * FROM thetable where ts>'2017-05-01 00:00:00'和ts <'2017-05-02 00:00:00'? –