簡體   English   中英

將時間轉換為秒分辨率的十分之一/十分之一

[英]convert time to 100th / 10th of a second resolution

模式'YYYY-MM-DD HH24:MI:SS'獲得時間達到秒分辨率。

select to_char('2017/02/20 08:23:58.267'::timestamp, 'YYYY-MM-DD HH24:MI:SS');
=> 2017-02-20 08:23:58

哪種模式會達到十分之一秒的分辨率和百分之一秒的分辨率?

100th second resolution => 2017-02-20 08:23:58.27
10th second resolution => 2017-02-20 08:23:58.3

這里的文檔中找不到

'YYYY-MM-DD HH24:MI:SS.MS'將為'2017-02-20 08:23:58.270'。 您可以將字符串截斷一個或兩個字符。 或者,為了精確舍入,您可以使用模式'SS.MS'進行單獨的轉換,將字符串轉換為浮點數,將其舍入,將其轉換回字符串,然后將其附加到to_char(ts, 'YYYY-MM-DD HH24:MI.')

如果可以選擇的話,只用小數點后三位似乎會更容易...

SQL演示

WITH cte as (
    SELECT '2017/02/20 08:23:58.267'::timestamp as t1
)    
SELECT to_char(t1, 'YYYY-MM-DD HH24:MI:SS'), 
       to_char(t1, 'YYYY-MM-DD HH24:MI:SS MS') millisecond, 
       to_char(t1, 'YYYY-MM-DD HH24:MI:SS US') microsecond       
FROM cte

輸出值

在此處輸入圖片說明

您可以通過一些數學運算來使用date_part('microseconds', t1)date_part('seconds', t1)來舍入期望值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM