~ 안에 SQL , 데이터베이스 작업을 하는 동안 테이블의 데이터 형식이 삽입할 입력 데이터와 일치해야 하기 때문에 초보자에게는 날짜가 복잡합니다. 다양한 시나리오에서는 날짜 대신 날짜/시간(시간도 날짜와 관련됨)이 사용됩니다.
데이터베이스에 날짜 또는 날짜 및 시간 값을 저장하려면, MySQL 다음과 같은 데이터 유형을 제공합니다.
| 날짜 | 형식 YYYY-MM-DD |
| 날짜 시간 | 형식: YYYY-MM-DD HH:MI: SS |
| 타임스탬프 | 형식: YYYY-MM-DD HH:MI: SS |
| 년도 | YYYY 또는 YY 형식 |
이제 SQL 날짜 함수에서 널리 사용되는 몇 가지 함수를 살펴보겠습니다.
지금()
현재 날짜와 시간을 반환합니다.
pyspark
질문:
SELECT NOW();>
산출:

날짜()
현재 날짜를 반환합니다.
질문:
SELECT CURDATE();>
산출:

커타임()
현재 시간을 반환합니다.
질문:
SELECT CURTIME();>
산출:

날짜()
날짜 또는 날짜/시간 표현식의 날짜 부분을 추출합니다. 예: 'Test'라는 아래 테이블의 경우
| ID | 이름 | 출생시간 |
|---|---|---|
| 4120 | 관행 | 1996-09-26 16:44:15,581 |
질문:
SELECT Name, DATE(BirthTime) AS BirthDate FROM Test;>
산출:
| 이름 | 생일 |
|---|---|
| 관행 | 1996-09-26 |
발췌()
날짜/시간의 단일 부분을 반환합니다.
통사론
EXTRACT(단위 FROM 날짜);
여러 단위를 고려할 수 있지만 다음과 같은 일부만 사용됩니다. MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 등 그리고 '날짜'는 유효한 날짜 표현입니다. 예: 'Test'라는 아래 테이블의 경우
| ID | 이름 | 출생시간 |
|---|---|---|
| 4120 | 관행 | 1996-09-26 16:44:15,581 |
질문:
SELECT Name, Extract(DAY FROM BirthTime) AS BirthDay FROM Test;>
산출:
| 이름 | 생일 |
|---|---|
| 관행 | 26 |
질문:
SELECT Name, Extract(YEAR FROM BirthTime) AS BirthYear FROM Test;>
산출:
| 이름 | 생년 |
|---|---|
| 관행 | 1996 년 |
질문:
SELECT Name, Extract(SECOND FROM BirthTime) AS BirthSecond FROM Test;>
산출:
| 이름 | 출생두 번째 |
|---|---|
| 관행 | 581 |
DATE_ADD()
날짜에 지정된 시간 간격을 추가합니다.
통사론:
DATE_ADD(날짜, INTERVAL 표현식 유형);
여기서 날짜 – 유효한 날짜 표현식이고 expr은 추가하려는 간격의 수입니다. 유형은 다음 중 하나일 수 있습니다: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 등. 예: 'Test'라는 아래 테이블의 경우
| ID | 이름 | 출생시간 |
|---|---|---|
| 4120 | 관행 | 1996-09-26 16:44:15,581 |
질문:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 1 YEAR) AS BirthTimeModified FROM Test;>
산출:
| 이름 | 출생 시간 수정됨 |
|---|---|
| 관행 | 1997-09-26 16:44:15,581 |
질문:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 30 DAY) AS BirthDayModified FROM Test;>
산출:
| 이름 | 생일 수정됨 |
|---|---|
| 관행 | 1996-10-26 16:44:15,581 |
질문:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 4 HOUR) AS BirthHourModified FROM Test;>
산출:
| 이름 | 출생두 번째 |
|---|---|
| 관행 | 1996-10-26 20:44:15,581 |
DATE_SUB()
날짜에서 지정된 시간 간격을 뺍니다. DATE_SUB의 구문은 DATE_ADD와 동일하지만 차이점은 DATE_SUB가 지정된 날짜 간격을 빼는 데 사용된다는 것입니다.
날짜IFF()
두 날짜 사이의 일수를 반환합니다.
배쉬 배열
통사론:
DATEDIFF(날짜1, 날짜2);
date1 & date2 - 날짜/시간 표현
질문:
SELECT DATEDIFF('2017-01-13','2017-01-03') AS DateDiff;> 산출:
| 날짜 차이 |
|---|
| 10 |
날짜 형식()
날짜/시간 데이터를 다양한 형식으로 표시합니다.
통사론:
DATE_FORMAT(날짜,형식);
날짜는 유효한 날짜이고 형식은 날짜/시간에 대한 출력 형식을 지정합니다. 사용할 수 있는 형식은 다음과 같습니다.
- %a - 축약된 요일 이름(일~토)
- %b-약식 월 이름(Jan-Dec)
- %c-월, 숫자(0-12)
- %D-일(영문접미사 포함) (0th, 1st, 2nd, 3rd)
- %d-월의 날짜, 숫자(00-31)
- %e-월의 날짜, 숫자(0-31)
- %f-마이크로초(000000-999999)
- %H시간(00-23)
- %h-시간(01-12)
- %I-시간(01-12)
- %i-분, 숫자(00-59)
- %j-연도의 날(001-366)
- %k시간(0-23)
- %l-시간(1-12)
- %M-월 이름(1월~12월)
- %m-월, 숫자(00-12)
- %p-AM 또는 PM
- %r-시간, 12시간(hh:mm: ss 다음에 AM 또는 PM이 옴)
- %S-초(00-59)
- %s-초(00-59)
- %T-Time, 24시간(hh:mm:ss)
- %U-Week(00-53) 여기서 일요일은 주의 첫 번째 날입니다.
- %u-Week(00-53) 여기서 월요일은 주의 첫 번째 날입니다.
- %V-Week(01-53) 여기서 일요일은 주의 첫 번째 날이며 %X와 함께 사용됩니다.
- %v-Week(01-53) 여기서 월요일은 주의 첫 번째 날이며 %x와 함께 사용됩니다.
- %W-요일 이름(일요일~토요일)
- %w-요일(0=일요일, 6=토요일)
- 일요일이 주의 첫날인 주의 %X-연도, 4자리, %V와 함께 사용됨
- 월요일이 주의 첫 번째 날인 주의 %x-연도, 4자리, %v와 함께 사용됨
- %Y-연도, 숫자, 4자리
- %y-연도, 숫자, 두 자리