SQL 날짜
날짜 작업에서 가장 어려운 부분은 삽입하고자하는 날짜의 형식은, 데이터베이스의 날짜 컬럼의 형식과 일치하는지 확인하는 것입니다.
MySQL의 날짜 함수
다음 표는 MySQL의 가장 중요한 내장 된 날짜 함수를 나열합니다 :
기능 | 기술 |
---|---|
NOW() | 현재 날짜와 시간을 반환 |
CURDATE() | 현재 날짜를 반환 |
CURTIME() | 현재 시간을 반환 |
DATE() | 날짜 또는 날짜 / 시간 표현의 날짜 부분을 추출 |
EXTRACT() | 날짜 / 시간의 한 부분을 돌려줍니다 |
DATE_ADD() | 날짜에 지정된 시간 간격을 추가 |
DATE_SUB() | 날짜에서 지정된 시간 간격을 뺍니다 |
DATEDIFF() | 두 날짜 사이의 일 수를 반환 |
DATE_FORMAT() | 표시 날짜 / 다른 형식으로 시간 데이터 |
SQL 서버 날짜 기능
다음 표는 SQL 서버에서 가장 중요한 내장 된 날짜 함수를 나열합니다 :
기능 | 기술 |
---|---|
GETDATE() | 현재 날짜와 시간을 반환 |
DATEPART() | 날짜 / 시간의 한 부분을 돌려줍니다 |
DATEADD() | 추가하거나 날짜에서 지정된 시간 간격을 뺍 |
DATEDIFF() | 두 날짜 사이의 시간을 돌려줍니다 |
CONVERT() | 표시 날짜 / 다른 형식으로 시간 데이터 |
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 - 형식 : 고유 번호
Note: 데이터베이스에 새 테이블을 만들 때 날짜 형식이 열에 대한 선택된다!
가능한 모든 데이터 유형에 대한 개요는 우리의 완전한 이동 데이터 유형 참조 .
SQL은 날짜 작업
참여 시간 구성 요소가없는 경우 당신은 쉽게 두 날짜를 비교할 수 있습니다!
우리는 다음 있다고 가정 "Orders" 테이블 :
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 | 카망베르 피에로 | 2008-11-09 15시 45분 21초 |
3 | 모짜렐라 디 조반니 | 2008-11-11 11시 12분 1초 |
4 | 마스 Fabioli | 2008-10-29 14시 56분 59초 |
우리는 위와 같은 SELECT 문을 사용하는 경우 :
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
우리는 어떤 결과를 얻을 수 없습니다! 쿼리가없는 시간 부분과 날짜에 대해보고되어 있기 때문이다.
Tip: 당신은 유지 보수가 간단하고 쉽게 쿼리를 유지하려면, 날짜 시간 구성 요소를 허용하지 않습니다!