이 튜토리얼에서는 SQL에 내장된 중요한 날짜 함수 중 일부에 대해 알아봅니다.
SQL의 날짜 함수:
- 지금()
- 날짜()
- 커타임()
- 날짜()
- 발췌()
- DATE_ADD()
- DATE_SUB()
- 날짜IFF()
- 날짜 형식()
예제를 통해 날짜 함수를 하나씩 자세히 살펴보겠습니다. 쿼리 작성을 위한 예제에서는 MySQL 데이터베이스를 사용할 것입니다.
다음 데이터가 포함된 학생 테이블이 있다고 가정해 보겠습니다.
ID | 이름 | 날짜/시간_생년월일 | 도시 |
---|---|---|---|
1 | 만시 샤 | 2010-01-01 18:39:09 | 푸네 |
2 | 테잘 와그 | 2010-03-04 05:13:19 | 나식 |
삼 | 세잘 쿠마리 | 2010-05-01 10:31:07 | 뭄바이 |
4 | 소날 자인 | 2010-09-09 17:17:07 | 심라 |
5 | 수리리 마헤스와리 | 2010-07-10 20:45:18 | 편지 |
우리는 일부 예에서 이 표를 사용할 것입니다.
1. 지금():
SQL의 NOW() 함수는 현재 시스템의 날짜와 시간을 제공합니다.
통사론:
SELECT NOW ();
예:
현재 시스템의 날짜와 시간을 표시하는 쿼리를 작성하세요.
질문:
mysql> SELECT NOW () AS Current_Date_Time;
여기서는 시스템의 현재 날짜와 시간을 가져오기 위해 NOW() 함수를 사용하여 SELECT 쿼리를 작성했습니다. Current_Date_Time은 날짜와 시간을 저장하는 별칭입니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
현재_날짜_시간 |
---|
2021-10-24 18:28:44 |
시스템에서 쿼리가 실행된 날짜와 시간은 24입니다.일2021년 10월 및 18:28:44. 따라서 출력으로 표시됩니다.
2. 날짜()
SQL의 CURDATE() 함수는 현재 시스템의 날짜를 제공합니다.
호주의 도시들
통사론:
SELECT CURDATE ();
예:
현재 시스템의 날짜를 표시하는 쿼리를 작성하세요.
질문:
mysql> SELECT CURDATE () AS CurrentDate;
여기서는 시스템의 현재 날짜를 가져오기 위해 CURDATE() 함수를 사용하여 SELECT 쿼리를 작성했습니다. CurrentDate는 날짜를 저장하는 별칭입니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
현재 날짜 |
---|
2021-10-24 |
시스템에서 쿼리가 실행된 날짜는 24입니다.일2021년 10월입니다. 따라서 출력으로 표시됩니다.
3. 커타임()
SQL의 CURTIME() 함수는 현재 시스템 시간을 제공합니다.
통사론:
SELECT CURTIME ();
예:
현재 시스템의 시간을 표시하는 쿼리를 작성하세요.
질문:
mysql> SELECT CURTIME () AS CurrentTime;
여기서는 시스템의 현재 시간을 가져오기 위해 CURTIME() 함수를 사용하여 SELECT 쿼리를 작성했습니다. CurrentTime은 시간을 저장하는 별칭입니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
현재 시간 |
---|
18:49:07 |
시스템에서 쿼리가 실행된 시간은 18:49:07입니다. 따라서 출력으로 표시됩니다.
4. 날짜()
SQL에서 DATE() 함수를 사용하면 DATETIME 데이터 유형 열에서 날짜를 구체적으로 추출할 수 있습니다.
통사론:
SELECT DATE (DateTimeValue);
예시 1:
주어진 날짜와 시간부터 날짜를 표시하는 쿼리를 작성하세요(예: 2021-10-24 18:28:44).
질문:
mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE;
여기서는 DATE() 함수에 전달된 날짜 및 시간 매개변수에서 날짜만 가져오기 위해 DATE() 함수를 사용하여 SELECT 쿼리를 작성했습니다. SHOW_DATE는 날짜를 저장하는 별칭입니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
SHOW_DATE |
---|
2021-10-24 |
날짜 및 시간 매개변수(예: '2021-10-24 18:28:44')에서 날짜 값은 2021-10-24입니다. 따라서 출력으로 표시됩니다.
예 2:
학생 테이블의 DateTime_Birth 열에 있는 날짜를 사용하여 학생 테이블의 모든 세부 정보를 표시하는 쿼리를 작성하세요.
질문:
mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student;
여기서는 ID와 이름을 가져오는 SELECT 쿼리를 작성했습니다. Date_of_Birth는 DateTime_Birth의 별칭입니다. 날짜만 가져오기 위해 DATE() 함수와 함께 Date_of_Birth를 사용했습니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
ID | 이름 | 생일 | 도시 |
---|---|---|---|
1 | 만시 샤 | 2010-01-01 | 푸네 |
2 | 테잘 와그 | 2010-03-04 | 나식 |
삼 | 세잘 쿠마리 | 2010-05-01 | 뭄바이 |
4 | 소날 자인 | 2010-09-09 | 심라 |
5 | 수리리 마헤스와리 | 2010-07-10 | 편지 |
DateTime_Birth 열을 제외하고 모든 기록은 학생 테이블의 그대로 표시됩니다. 요구 사항에 따라 Date_of_Birth 열에는 날짜만 표시됩니다.
5. 추출()
SQL에서 EXTRACT() 함수를 사용하면 요구 사항에 따라 일, 월, 연도, 일, 시, 분 등 날짜와 시간의 특정 부분을 추출할 수 있습니다.
통사론:
SELECT EXTRACT (PART FROM DATE / TIME);
예시 1:
주어진 날짜로부터 연도(예: 24)를 표시하는 쿼리를 작성하세요.일2021년 10월.
질문:
mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR;
여기서는 주어진 날짜로부터 연도를 가져오기 위해 EXTRACT() 함수를 사용하여 SELECT 쿼리를 작성했습니다. SHOW_YEAR는 연도를 저장하는 별칭입니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
SHOW_YEAR |
---|
2021 |
'2021'은 해당 날짜의 연도입니다. 따라서 출력으로 표시됩니다.
rsa 알고리즘
예 2:
주어진 날짜로부터 월(예: 24)을 표시하는 쿼리를 작성하세요.일2021년 10월.
질문:
mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH;
여기서는 주어진 날짜로부터 월을 가져오기 위해 EXTRACT() 함수를 사용하여 SELECT 쿼리를 작성했습니다. SHOW_MONTH는 월을 저장하는 별칭입니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
SHOW_MONTH |
---|
10 |
10일주어진 날짜의 월 값입니다. 따라서 출력으로 표시됩니다.
예시 3:
주어진 날짜로부터 일자를 표시하는 쿼리를 작성하세요(예: 24)일2021년 10월.
질문:
mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY;
여기서는 EXTRACT() 함수를 사용하여 주어진 날짜에서 일자를 가져오는 SELECT 쿼리를 작성했습니다. SHOW_DAY는 날짜를 저장하는 별칭입니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
SHOW_DAY |
---|
24 |
24일주어진 날짜의 일 값입니다. 따라서 출력으로 표시됩니다.
예시 4:
주어진 시간(예: 19:10:43)부터 시간을 표시하는 쿼리를 작성하세요.
질문:
mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR;
여기서는 주어진 시간에서 시간을 가져오기 위해 EXTRACT() 함수를 사용하여 SELECT 쿼리를 작성했습니다. SHOW_HOUR는 시간 값을 저장하는 별칭입니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
SHOW_HOUR |
---|
19 |
'19'는 주어진 시간의 시간 값입니다. 따라서 출력으로 표시됩니다.
예시 5:
주어진 시간으로부터 분(예: 19:10:43)을 표시하는 쿼리를 작성하세요.
질문:
mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE;
여기서는 주어진 시간에서 분 값을 가져오기 위해 EXTRACT() 함수를 사용하여 SELECT 쿼리를 작성했습니다. SHOW_MINUTE는 분을 저장하는 별칭입니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
SHOW_MINUTE |
---|
10 |
'10'은 주어진 시간의 분 값입니다. 따라서 출력으로 표시됩니다.
예시 6:
주어진 시간(예: 19:10:43)으로부터 초를 표시하는 쿼리를 작성하세요.
질문:
mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND;
여기서는 주어진 시간에서 초 값을 가져오기 위해 EXTRACT() 함수를 사용하여 SELECT 쿼리를 작성했습니다. SHOW_SECOND는 초 값을 저장하는 별칭입니다.
위 쿼리를 실행한 후 다음과 같은 결과를 얻었습니다.
SHOW_SECOND |
---|
43 |
43은 주어진 시간의 두 번째 값입니다. 따라서 출력으로 표시됩니다.
6. DATE_ADD()
SQL에서 DATE_ADD() 함수를 사용하면 주어진 날짜에 특정 시간 간격을 추가할 수 있습니다.
통사론:
SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added);
예시 1:
주어진 날짜에 15일 간격(예: 24일)을 추가하는 쿼리를 작성하세요.일2021년 10월.
질문:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
여기서는 주어진 날짜에 15일 간격을 추가하는 DATE_ADD() 함수를 사용하여 SELECT 쿼리를 작성했습니다. NEW_DATE는 새로운 날짜의 값을 저장하기 위한 별칭입니다.
다음과 같은 결과를 얻게 됩니다:
NEW_DATE |
---|
2021-11-08 |
2021-10-24에 15일 간격을 추가하면 새로운 날짜는 2021-11-08이 됩니다.
예 2:
주어진 날짜에 5개월 간격(예: 24개월)을 추가하는 쿼리를 작성하세요.일2021년 10월.
질문:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
여기서는 주어진 날짜에 5개월 간격을 추가하는 DATE_ADD() 함수를 사용하여 SELECT 쿼리를 작성했습니다. NEW_DATE는 새로운 날짜의 값을 저장하기 위한 별칭입니다.
다음과 같은 결과를 얻게 됩니다:
파이썬에서 s는 무엇입니까?
NEW_DATE |
---|
2022-03-24 |
2021-10-24에 5개월 간격을 추가하면 새로운 날짜는 2022-03-24가 됩니다.
예시 3:
주어진 날짜에 25년 간격(예: 24년)을 추가하는 쿼리를 작성하세요.일2021년 10월.
질문:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
여기서는 주어진 날짜에 25년 간격을 추가하는 DATE_ADD() 함수를 사용하여 SELECT 쿼리를 작성했습니다. NEW_DATE는 새로운 날짜의 값을 저장하기 위한 별칭입니다.
다음과 같은 결과를 얻게 됩니다:
NEW_DATE |
---|
2046-10-24 |
2021-10-24에 25년 간격을 더하면 새로운 날짜는 2046-10-24가 됩니다.
7. DATE_SUB()
SQL에서 DATE_SUB() 함수를 사용하면 주어진 날짜에서 특정 시간 간격을 제거할 수 있습니다.
통사론:
SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted);
예시 1:
주어진 날짜로부터 25년의 간격, 즉 24년을 제거하는 쿼리를 작성하세요.일2021년 10월.
질문:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
여기서는 주어진 날짜로부터 25년의 간격을 제거하기 위해 DATE_SUB() 함수를 사용하여 SELECT 쿼리를 작성했습니다. NEW_DATE는 새로운 날짜의 값을 저장하기 위한 별칭입니다.
다음과 같은 결과를 얻게 됩니다:
NEW_DATE |
---|
1996-10-24 |
2021-10-24에서 25년 간격을 제거한 후 새로운 날짜는 1996-10-24입니다.
예 2:
주어진 날짜로부터 5개월의 간격, 즉 24개월을 제거하는 쿼리를 작성하세요.일2021년 10월.
질문:
학교는 어떻게 발명됐나
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
여기서는 주어진 날짜로부터 5개월 간격을 제거하는 DATE_SUB() 함수를 사용하여 SELECT 쿼리를 작성했습니다. NEW_DATE는 새로운 날짜의 값을 저장하기 위한 별칭입니다.
다음과 같은 결과를 얻게 됩니다:
NEW_DATE |
---|
2021-05-24 |
2021-10-24에서 5개월 간격을 제거한 후 새로운 날짜는 2021-05-24입니다.
예시 3:
주어진 날짜로부터 15일 간격, 즉 24일을 제거하는 쿼리를 작성하세요.일2021년 10월.
질문:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
여기서는 주어진 날짜로부터 15일 간격을 제거하는 DATE_SUB() 함수를 사용하여 SELECT 쿼리를 작성했습니다. NEW_DATE는 새로운 날짜의 값을 저장하기 위한 별칭입니다.
다음과 같은 결과를 얻게 됩니다:
NEW_DATE |
---|
2021-10-09 |
2021-10-24에서 15일 간격을 제거하면 새로운 날짜는 2021-10-09가 됩니다.
8. 날짜IFF()
SQL에서 DATEDIFF() 함수를 사용하면 주어진 두 날짜 사이의 일수가 제공됩니다.
통사론:
SELECT DATEDIFF(Date1, Date2);
예시 1:
주어진 두 날짜 사이의 차이(예: 24)를 계산하는 쿼리를 작성하세요.일2021년 10월, 9일일2021년 10월.
질문:
mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE;
여기서는 2021-10-24 날짜와 2021-10-09 날짜 간의 차이를 가져오기 위해 DATE_DIFF() 함수를 사용하여 SELECT 쿼리를 작성했습니다. Number_of_Days는 일수에 대한 차이를 저장하는 별칭입니다.
다음과 같은 결과를 얻게 됩니다:
일 수 |
---|
열 다섯 |
2021-10-24 날짜와 2021-10-09 날짜 사이에는 15일의 차이가 있습니다.
예 2:
주어진 두 날짜 사이의 차이(예: 5)를 계산하는 쿼리를 작성하세요.일2018년 5월, 5일일2008년 5월
질문:
mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE;
여기서는 2018-05-05 날짜와 2008-05-05 날짜 간의 차이를 가져오기 위해 DATE_DIFF() 함수를 사용하여 SELECT 쿼리를 작성했습니다. Number_of_Days는 일수에 대한 차이를 저장하는 별칭입니다.
다음과 같은 결과를 얻게 됩니다:
일 수 |
---|
3652 |
2018-05-05 날짜와 2008-05-05 날짜 사이에는 3652일의 차이가 있습니다.
9. DATE_FORMAT()
SQL에서 DATE_FORMAT() 함수를 사용하면 날짜나 시간 관련 정보를 올바른 형식으로 표시할 수 있습니다.
테이블 열에 DATE_FORMAT 함수를 사용하는 구문:
SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name;
또는
특정 날짜 형식을 지정하는 구문:
SELECT DATE_FORMAT (Date, Expression);
예시 1:
주어진 날짜를 올바른 형식(예: 24)으로 표시하는 쿼리를 작성하세요.일2021년 10월.
질문:
mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date;
여기서는 2021-10-24 날짜를 형식화된 형식으로 가져오기 위해 DATE_FORMAT() 함수를 사용하여 SELECT 쿼리를 작성했습니다. Formatted_Date는 형식화된 날짜를 저장하는 별칭입니다.
김프에서 색상 바꾸기
다음과 같은 결과를 얻게 됩니다:
형식_날짜 |
---|
2021년 10월 24일 일요일 |
2021년 10월 24일 일요일은 2021-10-24 형식의 날짜입니다.
예 2:
주어진 날짜와 시간을 올바른 형식(예: 24)으로 표시하는 쿼리를 작성하세요.일2021년 10월 22:30:17.
질문:
mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime;
여기서는 날짜와 시간 '2021-10-24 22:30:17'을 형식화된 형식으로 가져오기 위해 DATE_FORMAT() 함수를 사용하여 SELECT 쿼리를 작성했습니다. Formatted_DateTime은 형식화된 날짜와 시간을 저장하는 별칭입니다.
다음과 같은 결과를 얻게 됩니다:
Formatted_DateTime |
---|
2021년 10월 24일 일요일 오후 10:30:17 |
2021년 10월 24일 일요일 오후 10:30:17은 2021-10-24 22:30:17 형식의 날짜 및 시간입니다.
예시 3:
DateTime_Birth 열이 포함된 학생 열의 모든 세부 정보를 올바른 형식으로 표시하는 쿼리를 작성하세요.
질문:
mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student;
여기서는 모든 레코드의 날짜와 시간을 형식화된 형식으로 가져오기 위해 DATE_FORMAT() 함수를 사용하여 SELECT 쿼리를 작성했습니다. Formatted_DateTime은 형식화된 날짜와 시간을 저장하는 별칭입니다.
다음과 같은 결과를 얻게 됩니다:
ID | 이름 | Formatted_DateTime | 도시 |
---|---|---|---|
1 | 만시 샤 | 2010년 1월 1일 금요일 오후 06:39:09 | 푸네 |
2 | 테잘 와그 | 2010년 3월 4일 목요일 오전 05:13:19 | 나식 |
삼 | 세잘 쿠마리 | 2010년 5월 1일 토요일 오전 10:31:07 | 뭄바이 |
4 | 소날 자인 | 2010년 9월 9일 목요일 오후 05:17:07 | 심라 |
5 | 수리리 마헤스와리 | 2010년 7월 10일 토요일 오후 8시 45분 18초 | 편지 |
DateTime_Birth 열을 제외하고 모든 기록은 학생 테이블의 그대로 표시됩니다. 필요에 따라 Formatted_DateTime 열에는 날짜와 시간만 표시됩니다.