본문 바로가기
공부/mysql

Mysql 기본명령어 10 (날짜 연산)

by signature95 2022. 2. 7.
728x90
반응형

이전 포스트에 이어서 작성하는 내용입니다.

2022.02.07 - [공부/mysql] - Mysql 기본명령어 9 (문자열 연산)

 

Mysql 기본명령어 9 (문자열 연산)

이전 포스트에 이어서 작성하는 내용입니다. 2022.01.27 - [공부/mysql] - Mysql 기본명령어 8 (수치 연산) Mysql 기본명령어 8 (수치 연산) 이전 포스트에 이어서 작성하는 내용입니다. 2022.01.27 - [공부/mysql

signature95.tistory.com

 

이번에는 날짜 연산입니다.

 

표준 SQL에서는 CURRENT_TIMESTAMP라는 함수로 시행할 수 있습니다. 이는 현재 접속하고 있는 하드웨어 상의 시스템 시계에서 명령어를 입력한 순간 즉각적으로 알 수 있는 일시적인 데이터를 반환합니다. ('시스템 날짜'라고 합니다)

 

물론 이는 데이터에 직접 접근하는 형식이 아니기에 인수를 지정할 필요가 없습니다.

따라서 다음과 같은 명령어를 입력하면 현시점의 시스템 날짜를 반환하게 됩니다.

SELECT CURRENT_TIMESTAMP;

날짜 데이터를 활용하는 법으로는, CURRENT_TIMESTAMP를 활용하여 데이터 베이스에 현 시간과 데이터를 같이 입력하여 저장할 수 있을 것입니다.

 

또한, 날짜 순서를 입력하는 방식은 국가별로 다릅니다.

YYYY/MM/DD

YYYY-MM-DD

DD-MM-YYYY

이렇게 다양한 형태의 날짜 표시가 있는데, 이를 변환할 수 있는 명령어로는 TO_DATE가 있습니다.

 

# Oracle에서 지원하는 함수

SELECT TO_DATE(SYSDATE, 'YY/MM/DD')

>>>

'22/02/07'
# mySQL

SELECT DATE_FORMAT(NOW(), '%y/%m/%d')

>>>

'22/02/07'

SELECT DATE_FORMAT(NOW(), '%Y/%m/%d')

>>>

'2022/02/07'

 

여기에 대한 더 많은 내용은 다음 링크를 참고하면 된다.

https://www.w3schools.com/sql/func_mysql_date_format.asp

 

MySQL DATE_FORMAT() Function

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

한편, 날짜를 더하거나 빼는 방법도 가능하다.

 

먼저, 날짜 차이를 계산하는 법이다.

SELECT DATEDIFF('2022-02-07','2000-01-01');

 

SELECT DATEDIFF('2000-01-01','2022-02-07');

이런 형태의 명령어를 입력하게 되면, 다음과 같이 출력된다.

 

DATEDIFF 함수는 두 날짜의 차이를 계산하는 것으로 DATEDIFF(a, b)를 보면, a-b의 날짜를 계산해주는 것이다.

만약 SELECT CURRENT_DATE + INTERVAL 1 DAY;를 하게 된다면, 오늘 기준 날에 +1일을 한 형태가 출력되게 된다.

728x90

댓글