3.1 날짜 및 시간 작업을 위한 기능 목록
날짜 및 시간은 데이터베이스에 저장되는 가장 일반적인 데이터 유형 중 하나입니다. 그렇기 때문에 그들과 함께 작업하는 기능 목록이 매우 큽니다. 다음은 가장 인기 있는 것입니다.
# | 기능 | 설명 |
---|---|---|
1 | CURDATE() | 현재 날짜를 반환합니다. |
2 | 커타임() | 현재 시간을 반환 |
삼 | 지금(), 현지시간() | 현재 날짜와 현재 시간을 반환합니다. |
4 | 년도() | 날짜에서 연도 반환 |
5 | 월() | 날짜에서 월을 반환합니다. |
6 | 요일(), 요일() | 날짜에서 일을 반환합니다. |
7 | 시간() | 시간에서 시간만 반환 |
8 | 분() | 시간에서 분을 발표 |
9 | 두번째() | 시간에서 초를 반환 |
10 | 요일명() | 요일의 이름을 반환합니다: Monday, ... |
열하나 | MONTHNAME() | 월 이름 반환: January, ... |
12 | 주() | 날짜에서 주를 반환합니다. |
13 | 주일() | 요일의 숫자를 반환합니다: 월요일 - 0, 화요일 - 1 |
14 | 위코피이어() | 해당 연도의 주 번호를 반환합니다. |
15 | DAYOFWEEK() | 요일의 숫자를 반환합니다: 일요일 - 1, 월요일 - 2 |
16 | DAYOFYEAR() | 연도의 날짜를 반환합니다: 1-366 |
17 | 날짜() | "datetime" 개체에서 날짜만 반환합니다. |
18 | 주소() | 날짜에 요일을 더합니다. |
19 | 날짜() | 날짜에서 일을 뺍니다. |
20 | 추가시간() | 때를 더하다 |
21 | 서브타임() | 시간에서 시간을 뺍니다 |
기능을 사용하는 방법을 더 쉽게 이해할 수 있도록 일부러 기능을 작은 그룹으로 그룹화했습니다. 아래에서 우리는 각 그룹에서 하나의 기능을 고려할 것입니다.
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html 링크에서 날짜 및 시간 작업을 위한 전체 함수 목록을 찾을 수 있습니다.
3.2 함수 호출
그건 그렇고, 우리는 많은 함수를 배우고 있기 때문에 연산자 SELECT
가 FROM
. 모든 식의 값을 반환할 수 있습니다. 템플릿에 의해 제공되는 일반적인 보기:
SELECT expression
그리고 어떤 함수를 호출하려면 다음과 같은 코드를 작성해야 합니다.
SELECT function(options)
SELECT
아래에서는 테이블에 의존하지 않고 연산자 작동에 대한 몇 가지 예를 제공합니다 .
# | 요구 | 결과 |
---|---|---|
1 | 1+1 선택 | 2 |
2 | 선택 13 모드 5 | 삼 |
삼 | 랜드 선택() | 0.20771444235715497 |
4 | CURDATE 선택() | 2022-06-04 |
5 | 시간 선택() | 00:06:02 |
6 | 지금 선택() | 2022-06-04 00:06:43 |
그리고 보시다시피 위의 표에서 현재 날짜와 시간을 얻으려면 함수 중 하나를 사용해야 합니다.
CURDATE()
– 현재 날짜CURTIME()
- 현재 시간;NOW()
– 현재 날짜 및 시간.
3.3 연도 및 월별로 데이터 그룹화
직원을 위한 작업이 포함된 작업 테이블을 떠올려 봅시다. 이 표에서 연도별로 작업을 그룹화해 보겠습니다. 이를 위해 YEAR()
전달된 날짜에서 연도를 반환하는 함수를 사용합니다.
쿼리의 첫 번째 버전은 다음과 같습니다.
SELECT
id,
employee_id ,
name,
YEAR(deadline) AS year,
deadline
FROM task
이 쿼리의 결과는 다음과 같습니다.
ID | employee_id | 이름 | 년도 | 마감 시간 |
---|---|---|---|---|
1 | 1 | 프런트엔드의 버그 수정 | 2022년 | 2022-06-01 |
2 | 2 | 백엔드의 버그 수정 | 2022년 | 2022-06-15 |
삼 | 5 | 커피를 사다 | 2022년 | 2022-07-01 |
4 | 5 | 커피를 사다 | 2022년 | 2022-08-01 |
5 | 5 | 커피를 사다 | 2022년 | 2022-09-01 |
6 | (없는) | 사무실을 청소하다 | (없는) | (없는) |
7 | 4 | 즐거운 삶 | (없는) | (없는) |
8 | 6 | 즐거운 삶 | (없는) | (없는) |
모든 행의 연도가 같은 것을 볼 수 있으므로 연도와 월의 두 필드를 사용하겠습니다. 쿼리의 두 번째 버전은 다음과 같습니다.
SELECT
id,
employee_id ,
name,
YEAR(deadline) AS year,
MONTH(deadline) AS month,
deadline
FROM task
이 쿼리의 결과는 다음과 같습니다.
ID | employee_id | 이름 | 년도 | 월 | 마감 시간 |
---|---|---|---|---|---|
1 | 1 | 프런트엔드의 버그 수정 | 2022년 | 6 | 2022-06-01 |
2 | 2 | 백엔드의 버그 수정 | 2022년 | 6 | 2022-06-15 |
삼 | 5 | 커피를 사다 | 2022년 | 7 | 2022-07-01 |
4 | 5 | 커피를 사다 | 2022년 | 8 | 2022-08-01 |
5 | 5 | 커피를 사다 | 2022년 | 9 | 2022-09-01 |
6 | (없는) | 사무실을 청소하다 | (없는) | (없는) | (없는) |
7 | 4 | 즐거운 삶 | (없는) | (없는) | (없는) |
8 | 6 | 즐거운 삶 | (없는) | (없는) | (없는) |
연도 및 월별로 작업을 그룹화하는 방법은 설명하지 않겠습니다. 이미 이것을 공부했습니다. 연산자 사용 GROUP BY
.
GO TO FULL VERSION