在 Oracle SQL 中将时间戳转换为日期

新手上路,请多包涵

我们如何将时间戳转换为日期?

该表有一个字段 start_tstimestamp 格式:

 '05/13/2016 4:58:11.123456 PM'

我需要查询表格并在表格中找到最大值和最小值 timestamp 但我做不到。

 Select max(start_ts)
from db
where cast(start_ts as date) = '13-may-2016'

但是查询没有返回任何值。

请帮助我找到日期的最大时间戳。

原文由 Dinu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答
CAST(timestamp_expression AS DATE)

例如,查询是: SELECT CAST(SYSTIMESTAMP AS DATE) FROM dual;

原文由 Peter Nosko 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果日期字符串中有毫秒,则可以使用以下内容。

 select TO_TIMESTAMP(SUBSTR('2020-09-10T09:37:28.378-07:00',1,23), 'YYYY-MM-DD"T"HH24:MI:SS:FF3')From Dual;

然后将其转换为日期:

 select trunc(TO_TIMESTAMP(SUBSTR('2020-09-10T09:37:28.378-07:00',1,23), 'YYYY-MM-DD"T"HH24:MI:SS:FF3')) From Dual;

它对我有用,希望它也能帮助你。

原文由 Apeksha Mukati 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进