[SQL] 오라클에서 DATEDIFF 함수
SQL오라클에서 DATEDIFF 함수
나는 오라클을 사용해야하지만, DATEDIFF 함수는 오라클 DB에 일을하지 않습니다.
어떻게 오라클에 다음 코드를 작성하는? 나는 INTERVAL 또는 TRUNC를 사용하여 몇 가지 예제를 보았다.
SELECT DATEDIFF ('2000-01-01','2000-01-02') AS DateDiff;
해결법
-
==============================
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.그냥 두 날짜 빼기 :
그냥 두 날짜 빼기 :
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.당신은 단순히 두 날짜를 뺄 수 있습니다. 당신은 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.우리는 직접 일에 차이를 얻기 위해 날짜를 뺄 수 있습니다.
우리는 직접 일에 차이를 얻기 위해 날짜를 뺄 수 있습니다.
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;
from https://stackoverflow.com/questions/28406397/datediff-function-in-oracle by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 저장 프로 시저를 실행할 때, CommandType.Text를 사용하여 대 CommandType.StoredProcedure를 사용의 이점은 무엇인가? (0) | 2020.05.15 |
---|---|
[SQL] MySQL은 TOP에 대한 대안이 있습니까? (0) | 2020.05.15 |
[SQL] 왜 C #을 플로트에서 SQL 플로트 다른입니다 (0) | 2020.05.15 |
[SQL] (SQL Server에 대한 GROUP_CONCAT a.k.a)를 CSV로 병합 행 값 (0) | 2020.05.15 |
[SQL] MySQL의 모든 필드를 교체 (0) | 2020.05.15 |