WorkaHolic

시간(CURTIME() or CURRENT_TIME) 활용 본문

Server/MySQL

시간(CURTIME() or CURRENT_TIME) 활용

Programics 2021. 5. 3. 15:31

* 풀 스펠링 (CURTIME()의 CURRENT_TIME)함수는 괄호()를 넣지 않아도, 넣어도 출력이 됨(없는게 디폴트)

* 대소문자 상관없음

 

CURDATE() - CURRENT_DATE 와 동일, TIME은 00:00:00 으로 처리됨

현재 일자(2021-01-28)

e.g. SELECT CURDATE();

e.g. SELECT CURRENT_DATE;

2021-05-03

* 2021-01-28은 String(문자), 20210128은 Numeric(숫자)이기 때문에, 숫자로 변경하고자 한다면, (CURRENT_TIMESTAMP 동일)

e.g. SELECT CURDATE()+0;

e.g. SELECT CURRENT_DATE+0;

20210503

 

CURTIME() - CURRENT_TIME 와 동일, DATE는 '현재 일자'로 처리됨

현재 시간(23:59:59)

e.g. SELECT CURTIME();

e.g. SELECT CURRENT_TIME;

13:30:24

 

NOW() - CURRENT_TIMESTAMP 와 동일

현재 일자와 시간(2021-01-28 23:59:59)

e.g. SELECT NOW();

e.g. SELECT CURRENT_TIMESTAMP;

2021-05-03 13:30:24

 

UNIX_TIMESTAMP(time) - 아래의 FROM_UNIXTIME() 반대

DATE를 유닉스TIMESTAMP로 (01234563789)

e.g. SELECT UNIX_TIMESTAMP(CURRENT_TIMESTAMP);

e.g. SELECT UNIX_TIMESTAMP(NOW());

e.g. SELECT UNIX_TIMESTAMP(CURTIME());

e.g. SELECT UNIX_TIMESTAMP('2021-05-03 13:30:24');

1620016224

* DATE의 경우, 시간대가 00:00:00 이기에 다름

e.g SELECT UNIX_TIMESTAMP(CURDATE()); 

e.g SELECT UNIX_TIMESTAMP(CURRENT_DATE); 

e.g SELECT UNIX_TIMESTAMP('2021-05-03'); 

1619967600

e.g. SELECT UNIX_TIMESTAMP(FROM_UNIXTIME(UNIX_TIMESTAMP(CURTIME())));

1619967600

 

FROM_UNIXTIME(unixtime, (format)) - 위의 UNIX_TIMESTAMP() 반대

유닉스TIMESTAMP를 DATE로(0000-00-00 00:00:00)

e.g. SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CURTIME()));

2021-05-03 13:30:24

e.g. SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CURDATE()));

2021-05-03 00:00:00

e.g. SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CURRENT_TIMESTAMP));

2021-05-03 13:30:24

e.g. SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()));

2021-05-03 13:30:24

e.g. SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CURRENT_TIMESTAMP), '%Y-%m-%d');

2021-05-03

e.g. SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CURRENT_TIMESTAMP), '%Y/%m/%d %h:%i:%s');

2021/05/03 13:30:24

반응형