SQL 날짜
SQL 날짜(Dates)
날짜를 다룰 때 가장 어려운 작업은 삽입된 날짜의 형식이 날짜와 일치하는지 확인하는 것입니다. 데이터베이스에서 열 형식이 일치합니다.
데이터에 날짜 부분만 포함되어 있으면 쿼리를 실행하는 데 문제가 없습니다. 그러나 시간 부분에 관해서는 상황이 좀 더 복잡해집니다.
날짜 쿼리의 복잡성을 논의하기 전에 가장 중요한 내장 날짜 처리 기능을 살펴보겠습니다.
MySQL 날짜 함수
다음 표에는 MySQL에 내장된 가장 중요한 날짜 함수가 나열되어 있습니다.
函数 | 描述 |
---|---|
NOW() | 返回当前的日期和时间 |
CURDATE() | 返回当前的日期 |
CURTIME() | 返回当前的时间 |
DATE() | 提取日期或日期/时间表达式的日期部分 |
EXTRACT() | 返回日期/时间的单独部分 |
DATE_ADD() | 向日期添加指定的时间间隔 |
DATE_SUB() | 从日期减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的天数 |
DATE_FORMAT() | 用不同的格式显示日期/时间 |
SQL Server 날짜 함수
다음 표에는 SQL Server에 내장된 가장 중요한 날짜 함수가 나열되어 있습니다.
函数 | 描述 |
---|---|
GETDATE() | 返回当前的日期和时间 |
DATEPART() | 返回日期/时间的单独部分 |
DATEADD() | 在日期中添加或减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的时间 |
CONVERT() | 用不同的格式显示日期/时间 |
SQL 날짜 데이터 유형
MySQL 다음 데이터 유형을 사용하여 데이터베이스에 날짜 또는 날짜/시간 값을 저장합니다.
-
DATE - 형식: YYYY-MM-DD
DATETIME - 형식: YYYY-MM-DD HH:MM:SS
TIMESTAMP - 형식: YYYY-MM-DD HH:MM:SS
YEAR - 형식: YYYY 또는 YY
SQL Server 다음 데이터 유형을 사용하여 데이터베이스에 날짜 또는 날짜/시간 값을 저장합니다.
DATE - 형식: YYYY-MM-DD
DATETIME - 형식: YYYY-MM-DD HH:MM:SS
SMALLDATETIME - 형식: YYYY-MM-DD HH:MM:SS
-
TIMESTAMP - 형식: 고유 번호
참고: 데이터베이스에 새 테이블을 생성할 때 다음을 선택해야 합니다. 열의 데이터 유형입니다!
사용 가능한 모든 데이터 유형에 대해 알아보려면 전체 데이터 유형 참조 매뉴얼을 방문하세요.
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 문을 사용합니다.
결과 집합은 다음과 같습니다. 다음과 같습니다.
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 문을 사용하는 경우:
그런 다음 To를 얻습니다. 결과! 이는 쿼리 날짜에 시간 구성 요소가 포함되어 있지 않기 때문입니다.
팁: 쿼리를 간단하고 유지 관리하기 쉽게 만들고 싶다면 날짜에 시간 부분을 사용하지 마세요!