여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. SQL - 날짜로 작업
SQL – 날짜로 작업
1년전 작성
8개월전 수정

날짜로 작업

날짜로 작업할 때 가장 어려운 부분은 삽입하려는 날짜 형식이 데이터베이스의 날짜 열 형식과 일치하는지 확인하는 것이다.

데이터에 날짜 부분만 포함되어 있으면 쿼리가 예상대로 작동한다.
그러나 시간 부분이 포함되면 더 복잡해진다.

날짜 데이터 유형

MySQL

데이터베이스에 날짜 또는 날짜/시간 값을 저장하기 위한 다음 데이터 유형과 함께 제공된다.

  • DATE- YYYY-MM-DD 형식
  • DATETIME- 형식: YYYY-MM-DD HH:MI:SS
  • TIMESTAMP- 형식: YYYY-MM-DD HH:MI:SS
  • YEAR- YYYY 또는 YY 형식

SQL Server

데이터베이스에 날짜 또는 날짜/시간 값을 저장하기 위한 다음 데이터 형식과 함께 제공된다.

  • DATE- YYYY-MM-DD 형식
  • DATETIME- 형식: YYYY-MM-DD HH:MI:SS
  • SMALLDATETIME- 형식: YYYY-MM-DD HH:MI:SS
  • TIMESTAMP- 형식: 고유 번호

⭐ 데이터베이스에 새 테이블을 생성할 때 열에 날짜 유형이 선택된다.

데이터베이스 예시

첫번째 주문 테이블
OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29
OrderDate가 “2008-11-11″인 레코드를 선택
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
기본 예시
OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11
관련된 시간 요소가 없으면 두 날짜를 쉽게 비교할 수 있다.

두번째 주문 테이블

“OrderDate” 열에 시간 구성요소를 추가했다.

주문 아이디 상품명 주문 날짜
1 게이토스트 2008-11-11 13:23:44
2 카망베르 피에로 2008-11-09 15:45:21
모짜렐라 디 조반니 2008-11-11 11:12:01
4 마스카포네 파비올리 2008-10-29 14:56:59
첫번째 주문 테이블때와 같은 SQL 코드 사용할 때
SELECT * FROM Orders WHERE OrderDate='2008-11-11'

우리는 결과를 얻지 못한다.
쿼리가 시간 부분이 없는 날짜만 찾고 있기 때문이다.

⭐ 쿼리를 간단하고 쉽게 유지 관리하려면 꼭 필요한 경우가 아니면 날짜에 시간 구성 요소를 사용하지 말아야한다.

참고

Mingg`s Diary
밍구
공부 목적 블로그