DB/SQL

#7 SQL 날짜함수 잘 사용하기

ej503 2022. 6. 16. 20:46

1. 지금 현재 날짜, 시간 출력하기

(1) 2020-03-31 16:06:41 --> SELECT now();

(2) 2020-03-31 --> SELECT current_date();

(3) 16:06:41 --> SELECT current_time();

(4) 20200331 --> SELECT current_date()+0;

(5) 160641 --> SELECT current_time+0;]

 

2. 날짜, 시간에 따른 특정 정보 출력하기

(1) 5 일월화..--> SELECT dayofweek("2022-06-16 17:00:00");

(2) 3 월화수..--> SELECT weekday("2022-06-16 17:00:00");

(3) 16 몇일--> SELECT dayofmonth("2022-06-16 17:00:00");

(4) 167 이번년도중 몇일--> SELECT dayofyear("2022-06-16 17:00:00");

(5) 6 몇째달--> SELECT month("2022-06-16 17:00:00");

(6) Thursday --> SELECT dayname("2022-06-16 17:00:00");

(7) June --> SELECT monthname("2022-06-16 17:00:00");

(8) 2 분기--> SELECT quarter("2022-06-16 17:00:00");

(9) 24 몇번째 주--> SELECT week("2022-06-16 17:00:00");

(10) 2022 --> SELECT year("2022-06-16 17:00:00");

(11) 17 --> SELECT hour("2022-06-16 17:00:00");

(12) 0 --> SELECT min("2022-06-16 17:00:00");

 

3. 날짜, 시간을 연산해서 출력하기

select date_add('2020-12-31 23:59:59', interval 1 second);
select date_add('2020-12-31 23:59:50', interval 31 day);

select date_add('2020-12-31 23:59:59', interval '1:1' minute_second);

select date_add('2020-12-31 23:59:59', interval '-1 17' day_hour);

 

4. 시간, 초 데이터 변환해서 출력하기

select sec_to_time(3000);

select time_to_sec('12:01:01');

 

5. period_add, period_diff 사용하기

select period_add(2206, 15);

select period_add(202206, 15);

 

6. date_format 함수 사용하기

오전 or 오후: select date_format('2022-06-16 16:00:00', '%p');

월화수..: select date_format('2022-06-16 16:00:00', '%m');

몇째요일: select date_format('2022-06-16 16:00:00', '%u);