gpt4 book ai didi

sql - 如何将时间戳截断为分钟?

转载 作者:行者123 更新时间:2023-12-04 23:45:09 24 4
gpt4 key购买 nike

我必须从当前时间戳中减去 5 分钟并将其下限(截断)到最近的分钟。比如'2016-02-23 06:10:39.0'应该是'2016-02-23 06:05:00.0'。我找到了减去 5 分钟的方法

 systimestamp - interval '5' minute

编辑 1:我需要特定格式的时间戳,

 TO_TIMESTAMP((systimestamp - interval '15' minute),'YYYY-MM-DD HH24:MI:SS.ff')

但这是给予

ORA-01830: date format picture ends before converting entire input string

但我无法将它精确到最近的分钟。请帮忙。谢谢

最佳答案

您可以根据需要的精度使用 TRUNC()。要只截断到分钟,请使用 MI

例如,

SQL> SELECT SYSTIMESTAMP, trunc(SYSTIMESTAMP - INTERVAL '5' MINUTE, 'MI') new_tmstmp
2 FROM dual;

SYSTIMESTAMP NEW_TMSTMP
----------------------------------- -------------------
16-MAR-16 04.44.02.379000 PM +05:30 03/16/2016 16:39:00

SQL>

请记住,上面的输出将是 DATE 而不是 TIMESTAMP。您可以显式CAST date 作为timestamp:

SQL> SELECT SYSTIMESTAMP,CAST(trunc(SYSTIMESTAMP - INTERVAL '5' MINUTE,'MI') AS TIMESTAMP) tm
2 FROM dual;

SYSTIMESTAMP TM
----------------------------------- ------------------------------
16-MAR-16 04.53.25.802000 PM +05:30 2016-03-16 04:48:00.000000

SQL>

关于sql - 如何将时间戳截断为分钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36033810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com