Skip to content

16. Working With Dates


1. Dates

  • 날짜로 작업할 때 가장 어려운 부분은 삽입하려는 날짜 형식이 데이터베이스의 날짜 열 형식과 일치하는지 확인하는 것이다.
  • 데이터에 날짜 부분만 포함되어 있으면 쿼리가 예상대로 작동한다.
  • 하지만 시간 부분이 포함되면 더 복잡해진다.


2. Date Data Types

1) MySQL

  • MySQL은 데이터베이스에 날짜 또는 날짜/시간 값을 저장하기 위한 다음과 같은 데이터 타입이 함께 제공된다.


1] DATE

  • YYYY-MM-DD 형식

2] DATETIME

  • YYYY-MM-DD HH:MI:SS 형식

3] TIMESTAMP

  • YYYY-MM-DD HH:MI:SS 형식

4] YEAR

  • YYYY 또는 YY 형식


2) SQL Server

  • SQL Server는 데이터베이스에 날짜 또는 날짜/시간 값을 저장하기 위한 다음과 같은 데이터 타입이 함께 제공된다.


1] DATE

  • YYYY-MM-DD 형식

2] DATETIME

  • YYYY-MM-DD HH:MI:SS 형식

3] SMALLDATETIME

  • YYYY-MM-DD HH:MI:SS 형식

4] TIMESTAMP

  • 고유 번호 형식


3. Working with Dates

  • 다음과 같은 Orders 테이블이 있다.


001


  • 이제 위의 표에서 OrderDate"2008-11-11"인 레코드를 선택하려고 한다면 다음과 같이 SELECT 문을 사용한다.


SELECT * FROM Orders WHERE OrderDate = '2008-11-11'


  • 결과 집합은 다음과 같고, 관련된 시간 요소가 없으면 두 날짜를 쉽게 비교할 수 있다.


002


  • 이제 Orders 테이블이 다음과 같다고 가정해 보자.


003


  • 위의 SELECT 문과 똑같이 사용해 보자.


SELECT * FROM Orders WHERE OrderDate = '2008-11-11'


  • 쿼리가 시간 부분이 없는 날짜만 찾고 있기 때문에 결과를 얻지 못하게 된다.
  • 즉, 쿼리를 간단하고 쉽게 관리하려면 꼭 필요한 경우가 아니면 날짜에 시간 구성 요소를 사용하지 않는 것이 좋다.

References