1. 학습
  2. /
  3. 강의
  4. /
  5. SQL로 하는 탐색적 데이터 분석

Connected

연습 문제

날짜 비교

TIMESTAMP를 다룰 때 특정 날짜의 모든 관측치를 찾고 싶을 때가 있습니다. 하지만 비교할 때 날짜만 지정하면 예상치 못한 결과가 나올 수 있어요. 예를 들어, 다음 쿼리는:

SELECT count(*) 
  FROM evanston311
 WHERE date_created = '2018-01-02';

2018년 1월 2일에 49개의 요청이 있었음에도 0을 반환합니다.

이유는 DATE가 TIMESTAMP와 비교될 때 자동으로 TIMESTAMP로 변환되기 때문입니다. 이때 시간 필드는 모두 0으로 설정돼요:

SELECT '2018-01-02'::timestamp;
 2018-01-02 00:00:00

TIMESTAMP와 DATE를 함께 사용할 때는 이 점을 꼭 염두에 두셔야 합니다.

지침 1/3

undefined XP
  • 1
    • date_created를 date로 캐스팅해 2017년 1월 31일에 생성된 Evanston 311 요청 수를 세세요.
  • 2
    • >=와 < 연산자를 사용해 2016년 2월 29일에 생성된 Evanston 311 요청 수를 세세요.
  • 3
    • 2017년 3월 13일에 생성된 요청 수를 세세요.
    • 하한에 1을 더해 상한을 지정하세요.