首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Oracle中将日期转换为秒

如何在Oracle中将日期转换为秒
EN

Stack Overflow用户
提问于 2008-10-01 15:23:36
回答 7查看 59.4K关注 0票数 15

This page提到了如何在Oracle中将时间戳转换为分钟/小时/等。

如何以同样的方式将时间戳转换为秒?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-10-01 15:35:25

由于DATE的精度是秒(而不是秒的分数),所以根本不需要TRUNC

数据类型TIMESTAMP允许数秒的分数。如果您将其转换为DATE,小数秒将被删除-例如

代码语言:javascript
运行
复制
select cast(systimestamp as date) 
  from dual;
票数 32
EN

Stack Overflow用户

发布于 2010-01-21 22:08:04

我很抱歉,但我的前辈似乎都错了。

代码语言:javascript
运行
复制
select cast(systimestamp as date) from dual 

..does不会截断,而是舍入到下一秒。

我使用一个函数:

代码语言:javascript
运行
复制
CREATE OR REPLACE FUNCTION TRUNC_TS(TS IN TIMESTAMP) RETURN DATE AS
BEGIN

    RETURN TS;

END;

例如:

代码语言:javascript
运行
复制
SELECT systimestamp
    ,trunc_ts(systimestamp) date_trunc
    ,CAST(systimestamp AS DATE) date_cast 
FROM dual;

返回:

代码语言:javascript
运行
复制
    SYSTIMESTAMP                       DATE_TRUNC             DATE_CAST
    21.01.10 15:03:34,567350 +01:00    21.01.2010 15:03:34    21.01.2010 15:03:35
票数 3
EN

Stack Overflow用户

发布于 2008-10-01 16:19:26

关于截断Oracle日期的一般主题,下面是可在date trunc()和round()函数中使用的格式模型的文档链接

http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions242.htm#sthref2718

没有列出“秒”,因为DATE数据类型的粒度是秒。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/158189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档