복붙노트

[SQL] 오라클에서 DATEDIFF 함수

SQL

오라클에서 DATEDIFF 함수

나는 오라클을 사용해야하지만, DATEDIFF 함수는 오라클 DB에 일을하지 않습니다.

어떻게 오라클에 다음 코드를 작성하는? 나는 INTERVAL 또는 TRUNC를 사용하여 몇 가지 예제를 보았다.

SELECT DATEDIFF ('2000-01-01','2000-01-02') AS DateDiff;

해결법

  1. ==============================

    1.오라클에서는, 당신은 단순히 두 날짜를 빼고 일의 차이를 얻을 수 있습니다. 또한 SQL Server 또는 MySQL을 달리 오라클 당신이 절에서없이 SELECT 문을 수행 할 수 있습니다. 이 주위에 한 가지 방법은 내장 더미 테이블을 사용하는 듀얼입니다 :

    오라클에서는, 당신은 단순히 두 날짜를 빼고 일의 차이를 얻을 수 있습니다. 또한 SQL Server 또는 MySQL을 달리 오라클 당신이 절에서없이 SELECT 문을 수행 할 수 있습니다. 이 주위에 한 가지 방법은 내장 더미 테이블을 사용하는 듀얼입니다 :

    SELECT TO_DATE('2000-01-02', 'YYYY-MM-DD') -  
           TO_DATE('2000-01-01', 'YYYY-MM-DD') AS DateDiff
    FROM   dual
    
  2. ==============================

    2.그냥 두 날짜 빼기 :

    그냥 두 날짜 빼기 :

    select date '2000-01-02' - date '2000-01-01' as dateDiff
    from dual;
    

    결과는 일의 차이 일 것이다.

    자세한 내용은 사용 설명서에 있습니다 : https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#i48042

  3. ==============================

    3.당신은 단순히 두 날짜를 뺄 수 있습니다. 당신은 TO_DATE를 사용하여, 먼저 캐스팅해야합니다 :

    당신은 단순히 두 날짜를 뺄 수 있습니다. 당신은 TO_DATE를 사용하여, 먼저 캐스팅해야합니다 :

    select to_date('2000-01-01', 'yyyy-MM-dd')
           - to_date('2000-01-02', 'yyyy-MM-dd')
           datediff
    from   dual
    ;
    

    결과는이 두 날짜의 차이로, 일에 -1 (만약 당신이 좋아하면 당신이 두 날짜를 바꿀 수있다). 당신은 시간에 24 단 곱셈 결과를 그것을 가지고 싶은 경우에.

  4. ==============================

    4.우리는 직접 일에 차이를 얻기 위해 날짜를 뺄 수 있습니다.

    우리는 직접 일에 차이를 얻기 위해 날짜를 뺄 수 있습니다.

        SET SERVEROUTPUT ON ;
        DECLARE
            V_VAR NUMBER;
        BEGIN
             V_VAR:=TO_DATE('2000-01-02', 'YYYY-MM-DD') - TO_DATE('2000-01-01', 'YYYY-MM-DD') ;
             DBMS_OUTPUT.PUT_LINE(V_VAR);
        END;
    
  5. from https://stackoverflow.com/questions/28406397/datediff-function-in-oracle by cc-by-sa and MIT license