programing

Oracle에서 날짜를 초 단위로 자르는 방법

itmemos 2023. 9. 24. 12:22
반응형

Oracle에서 날짜를 초 단위로 자르는 방법

페이지에서는 Oracle에서 타임스탬프를 분/시간/등으로 잘라내는 방법에 대해 설명합니다.

같은 방식으로 타임스탬프를 초 단위로 자를 방법은 무엇입니까?

정확도가.DATE는 2초(분의 1초도 안 되는 시간)로, 할 필요가 없습니다.TRUNC조금도.

자료종류TIMESTAMP몇 분의 일 초를 허용합니다.A로 변환하면,DATE분수 초가 제거됩니다. 예를 들어.

select cast(systimestamp as date) 
  from dual;

죄송하지만, 제 전임자들이 모두 틀린 것 같습니다.

select cast(systimestamp as date) from dual 

..잘라내지 않고, 대신 다음 초로 돌아갑니다.

기능을 사용합니다.

CREATE OR REPLACE FUNCTION TRUNC_TS(TS IN TIMESTAMP) RETURN DATE AS
BEGIN

    RETURN TS;

END;

예를 들어,

SELECT systimestamp
    ,trunc_ts(systimestamp) date_trunc
    ,CAST(systimestamp AS DATE) date_cast 
FROM dual;

반환:


    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

Oracle 날짜 자르기에 대한 일반적인 항목에 대해 datetrunc() AND round() 함수에서 사용할 수 있는 형식 모델에 대한 문서 링크가 있습니다.

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

DATE 데이터 유형의 세분화가 초이므로 "초"가 나열되지 않습니다.

다음과 같은 기능을 사용했습니다.

FUNCTION trunc_sec(p_ts IN timestamp)
IS
    p_res timestamp;
BEGIN
    RETURN TO_TIMESTAMP(TO_CHAR(p_ts, 'YYYYMMDDHH24MI'), 'YYYYMMDDHH24MI');
END trunc_sec;

작업을 최소값으로만 잘라내기, 현재값으로 캐스트to_char(START_TIME,'YYYYMMDDHH24MISS')

아니면 간단히select to_char(current_timestamp, 'YYYYMMDDHH24MISS') from dual;

https://www.techonthenet.com/oracle/functions/trunc_date.php

자르는 방법timestamp날짜를 초 단위로 지정할 수 있습니다.

CAST(timestamp AS DATE)

다음 작업을 수행하려면 다음과 같이 하십시오.TRUNC가 기사에 나와 있습니다.

TRUNC(CAST(timestamp AS DATE), 'YEAR')

다음 순서에 따라:

select to_char(current_timestamp, 'SS') from dual;

언급URL : https://stackoverflow.com/questions/158189/how-to-trunc-a-date-to-seconds-in-oracle

반응형