oracle中怎么截取timestamp字段的时分秒?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中怎么截取timestamp字段的时分秒?相关的知识,希望对你有一定的参考价值。

要求截取之后还是timestamp的类型,因为要进行比较时间大小 ,谢谢大牛了,采纳会加分的

其实TIMESTAMP可以直接比较大小。

截取以后还是TIMESTAMP类型,这个,这个如何做?

SELECT SYSTIMESTAMP, TO_CHAR(SYSTIMESTAMP, 'HH24:MI:SS.FF6') FROM DUAL


或者你要的是一个针对秒的数字,那就:

SELECT TO_CHAR(SYSTIMESTAMP, 'HH24:MI:SS.FF6') TIME,
       TO_CHAR(SYSTIMESTAMP, 'HH24') * 60 * 60 + TO_CHAR(SYSTIMESTAMP, 'MI') * 60 + TO_CHAR(SYSTIMESTAMP, 'SS.FF6') SECONDS
  FROM DUAL

追问

不好意思,我刚才提问没表达清楚,是这样,我的表的timestamp字段包含年月日时分秒,我想把年月日,时分秒分别截取出来,对年月日group by一次,然后取每天的最小的时间

追答SELECT DISTINCT TO_CHAR(T, 'YYYY-MM-DD'), MIN(T) OVER(PARTITION BY TO_CHAR(T, 'YYYY-MM-DD')) FROM ZZZ


ZZZ 为你要使用的表,T为TIMESTAMP字段

参考技术A select to_char(sysdate,'hh24:mi:ss') from dual;追问

你这个字段类型是字符串的,你再看一下我的要求想想

追答

转成字符类型 也能比较的,你试试。

参考技术B select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss') from TRN_DAILY_STATISTICS追问

你这个是取了年月日时分秒,另外字段类型是字符串的,你再看一下我的要求想想

追答

明白你的意思,“其实TIMESTAMP可以直接比较大小”那就多设置个变量取值。

以上是关于oracle中怎么截取timestamp字段的时分秒?的主要内容,如果未能解决你的问题,请参考以下文章

oracle 时间字段是年月日时分秒怎么根据年月日分组

oracle clob字段怎么截取一段

datastage里的timestamp类型转换问题

sql存储过程中时分秒字符串怎么比较大小 如08:30:00 与13:00:00怎么比较

mysql里时间类型为timestamp 怎么将它截取只显示年月日

sql怎么取时间字段的年月日的值