복붙노트

[SQL] 지난 3 개월 동안의 데이터를 취득하기위한 SQL 쿼리

SQL

지난 3 개월 동안의 데이터를 취득하기위한 SQL 쿼리

어떻게 당신은 오늘 날짜를 얻을 수 3 개월 전 배달 달 테이블에서 데이터를 01 / 월 / 년 형식으로 변환 할 수 있습니까? 표는 이미 01 / 월 / 년으로 배달 달이 포함되어 있습니다.

해결법

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

    1.

    SELECT * 
    FROM TABLE_NAME
    WHERE Date_Column >= DATEADD(MONTH, -3, GETDATE()) 
    

    Mureinik의 제안 방법은 동일한 결과를 반환하지만, 당신의 쿼리가 Date_Column에 어떤 인덱스 혜택을 누릴 수 있습니다 이런 식으로 일을합니다.

    또는 당신은 지난 90 일에 확인할 수 있습니다.

    SELECT * 
    FROM TABLE_NAME
    WHERE Date_Column >= DATEADD(DAY, -90, GETDATE()) 
    
  2. ==============================

    2.MySQL의 최신 버전은 DATEADD 대신 구문을 사용 지원하지 않습니다

    MySQL의 최신 버전은 DATEADD 대신 구문을 사용 지원하지 않습니다

    DATE_ADD(date,INTERVAL expr type)
    

    지난 3 개월 데이터 사용을 얻으려면,

    DATE_ADD(NOW(),INTERVAL -90 DAY) 
    DATE_ADD(NOW(), INTERVAL -3 MONTH)
    
  3. ==============================

    3.나는 포맷 변환 걱정 DATEDIFF를 사용하지 않는 게 좋을 :

    나는 포맷 변환 걱정 DATEDIFF를 사용하지 않는 게 좋을 :

    SELECT *
    FROM   mytable
    WHERE  DATEDIFF(MONTH, my_date_column, GETDATE()) <= 3
    
  4. ==============================

    4.지난 3 개월

    지난 3 개월

    SELECT DATEADD(dd,DATEDIFF(dd,0,DATEADD(mm,-3,GETDATE())),0)
    

    오늘

    SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)
    
  5. from https://stackoverflow.com/questions/21912173/sql-query-for-getting-data-for-last-3-months by cc-by-sa and MIT license