SQL 튜토리얼

SQL 홈 SQL 소개 SQL 구문 SQL 선택 SQL 선택 고유 SQL 어디에 SQL 및, 또는, 아님 SQL 순서 SQL 삽입 SQL Null 값 SQL 업데이트 SQL 삭제 SQL 상위 선택 SQL 최소 및 최대 SQL 개수, 평균, 합계 SQL 좋아요 SQL 와일드카드 SQL 입력 SQL 사이 SQL 별칭 SQL 조인 SQL 내부 조인 SQL 왼쪽 조인 SQL 권한 조인 SQL 전체 조인 SQL 자체 조인 SQL 유니온 SQL 그룹화 기준 SQL SQL 존재 모든 SQL SQL 선택 대상 선택에 SQL 삽입 SQL 케이스 SQL 널 함수 SQL 저장 프로시저 SQL 주석 SQL 연산자

SQL 데이터베이스

SQL DB 생성 SQL 삭제 DB SQL 백업 DB SQL 테이블 생성 SQL 삭제 테이블 SQL 변경 테이블 SQL 제약 조건 SQL이 널이 아님 SQL 고유 SQL 기본 키 SQL 외래 키 SQL 확인 SQL 기본값 SQL 인덱스 SQL 자동 증분 SQL 날짜 SQL 보기 SQL 주입 SQL 호스팅 SQL 데이터 유형

SQL 참조

SQL 키워드 MySQL 함수 SQL 서버 기능 MS 액세스 기능 SQL 빠른 참조

SQL 예제

SQL 예제 SQL 퀴즈 SQL 연습 SQL 인증서

날짜로 작업하는 SQL


SQL 날짜

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

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


SQL 날짜 데이터 유형

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 - 형식: 고유 번호

참고: 데이터베이스에 새 테이블을 생성할 때 열에 날짜 유형이 선택됩니다!


날짜로 작업하는 SQL

다음 표를 보십시오.

주문 테이블

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문장을 사용합니다:

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

결과 집합은 다음과 같습니다.

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

참고: 관련된 시간 요소가 없으면 두 날짜를 쉽게 비교할 수 있습니다!

이제 "Orders" 테이블이 다음과 같다고 가정합니다("OrderDate" 열에 추가된 시간 구성요소에 주목).

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

SELECT위와 같은 문장을 사용한다면 :

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

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

팁: 쿼리를 간단하고 쉽게 유지 관리하려면 꼭 필요한 경우가 아니면 날짜에 시간 구성 요소를 사용하지 마십시오!