복붙노트

[SQL] 두 날짜 사이의 일 수 - ANSI SQL

SQL

두 날짜 사이의 일 수 - ANSI SQL

나는 SQL에서 두 날짜 사이의 일 수를 결정하는 방법이 필요합니다.

답변 ANSI SQL에 있어야합니다.

해결법

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

    1.ANSI SQL-92 정의 날짜 - 간격 유형을 반환로 DATE. 적절하게 충분한 - - 추출 기능 (4.5.3) 당신이 사용하는 날짜에서 그들을 추출과 같은 방법을 사용하여 간격에서 스칼라를 추출 할 수 있어야한다.

    ANSI SQL-92 정의 날짜 - 간격 유형을 반환로 DATE. 적절하게 충분한 - - 추출 기능 (4.5.3) 당신이 사용하는 날짜에서 그들을 추출과 같은 방법을 사용하여 간격에서 스칼라를 추출 할 수 있어야한다.

    그러나,이 매우 저조한 대부분의 데이터베이스에서 구현됩니다. 당신은 아마 뭔가 데이터베이스 별을 사용하여 붙어 있습니다. DATEDIFF 꽤 잘 서로 다른 플랫폼에서 구현된다.

    다음은 그 일의 "진짜"방법이있다.

    SELECT EXTRACT(DAY FROM DATE '2009-01-01' - DATE '2009-05-05') FROM DUAL;
    

    행운을 빕니다!

  2. ==============================

    2.나는 DATE1 - DATE2를 지원하지 않는 RDBMS를 사용하여 기억할 수 및 SQL (92)는 동의하는 것 같다.

    나는 DATE1 - DATE2를 지원하지 않는 RDBMS를 사용하여 기억할 수 및 SQL (92)는 동의하는 것 같다.

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

    3.'-'연산자 나는 SQL-92 표준 지원은 두 개의 날짜를 뺀 생각합니다.

    '-'연산자 나는 SQL-92 표준 지원은 두 개의 날짜를 뺀 생각합니다.

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

    4.SQL 92 지원 다음 구문을 :

    SQL 92 지원 다음 구문을 :

    t.date_1 - t.date_2
    

    추출 기능은 ANSI이지만, SQL 서버에서 지원되지 않습니다. 예:

    ABS(EXTRACT(DAY FROM t.date_1) - EXTRACT(DAY FROM t.date_2)
    

    절대 값 함수의 계산 보장하지만 포장하는 값이 작은 제 날짜 일 경우에도 긍정적으로 나올 것이다.

    추출에 지원됩니다

  5. from https://stackoverflow.com/questions/1800290/number-of-days-between-two-dates-ansi-sql by cc-by-sa and MIT license