>

SQL을 사용하여 올해의 결과를 얻으려면 어떻게해야합니까?

yyyy-mm-dd 형식의 열 날짜가있는 테이블이 있습니다 .

현재 연도 결과 만 반환하는 쿼리를 선택하고 싶습니다.

의사 코드는 다음과 같아야합니다 :

select * from table where date is (current year dates)

결과는 다음과 같아야합니다.

id date
2  2015-01-01
3  2015-02-01
9  2015-01-01
6  2015-02-01

어떻게하면 되나요?

  • 답변 # 1

    YEAR() 사용  작업하려는 날짜의 연도 만 가져 오려면 :

    select * from table where YEAR(date) = YEAR(CURDATE())
    
    

  • 답변 # 2

    WHERE YEAR(date) = YEAR(CURDATE()) 사용  정확하지만 date 열의 색인을 사용할 수 없습니다  존재하는 경우;존재하지 않는 경우

    더 나은 해결책은 :

    SELECT *
    FROM tbl
    WHERE `date` BETWEEN '2015-01-01' AND '2015-12-31'
    
    

    고객 코드에서 날짜 (연중 첫 번째 및 마지막 날)를 생성해야합니다.

  • 답변 # 3

    SELECT id, date FROM your_table WHERE YEAR( date ) = YEAR( CURDATE() )
    
    

  • 답변 # 4

    -========= 현재 연도 가져 오기 ===========

    Select DATEPART(yyyy, GETDATE())
    
    

  • 답변 # 5

    SQL DATE_FORMATE() 를 사용하여이 작업을 수행 할 수 있습니다 . 아래처럼 :

    SELECT
        date
    FROM
        TABLE
    WHERE
        DATE_FORMAT(date, '%Y') = YEAR (CURDATE());
    
    

  • 이전 c# : Async 메서드가 동기식으로 실행됩니다
  • 다음 c# - JSON 객체 및 쿼리 역 직렬화