SQL.DATE

BABY CAT·2022년 9월 24일
0

MySQL

목록 보기
4/6

DATE 출력 방식을 컨트롤 하는 방법

일단

USE world;

로 데이터베이스 지정

1. 테이블 생성

빈 테이블을 생성한다

CREATE TABLE datetable2 (
	id INT PRIMARY KEY AUTO_INCREMENT,
	dt DATETIME DEFAULT CURRENT_TIMESTAMP
);

SELECT * FROM datetable2;
이제 value를 넣어준다

현재시각 하나씩 넣기
INSERT INTO datetable2 VALUES (DEFAULT, DEFAULT);
SELECT * FROM datetable2;

특정 시각 4개 넣기
INSERT INTO datetable2 (dt) 
VALUES ('2022-08-28 17:22:21'), 
   ('2022-02-15 10:22:24'),
	('2022-12-09 22:13:24'), 
	('2022-07-06 20:15:18');
SELECT * FROM datetable2;

ㄱ. DATE_FORMAT

y는 year 대문자는 2022 소문자는 22 이런식
m는 month
d는 day

기존데이터는 

2022-08-28 17:22:21 식으로 저장되어 있다
이것의 모양을 DATE_FORMAT 으로 컨트롤 해본다

2022-09-23  
SELECT DATE_FORMAT(dt, '%Y-%m-%d') FROM dateTable;

02:28:00 PM  
SELECT DATE_FORMAT(dt, '%r') FROM dateTable;
SELECT DATE_FORMAT(dt, '%h:%i:%s %p') FROM dateTable; /* 같은코드 */

22-09-23 14:28  
SELECT DATE_FORMAT(dt, '%y-%m-%d %H:%i') FROM dateTable;

2. DATE 고유 함수

ㄱ. DATE_ADD

40일 후 시각을 알려준다
SELECT DATE_ADD(NOW(), INTERVAL 40 DAY);

DATE_SUB

3달 전 시각을 알려준다
SELECT DATE_SUB(NOW(), INTERVAL 3 MONTH);

ㄴ. D-Day계산

2022-11-17까지 몇일 남았는지 알려준다
SELECT TO_DAYS('2022-11-17') - TO_DAYS(NOW());

ㄷ. NOW(), CURDATE(), CURTIME()

NOW()	   	
2008-11-11 12:45:34	

CURDATE()
2008-11-11

CURTIME()
12:45:34

3. 무슨 요일인지 계산하기

데이트테이블에 있는 각 date value들이 어느 요일인지 1~7의 숫자로 리턴한다   
1 일요일
2 월요일
3 화요일
4 수요일
5 목요일
6 금요일
7 토요일

SELECT DAYOFWEEK(dt) FROM dateTable2;
SELECT * FROM dateTable2;

0개의 댓글