MySQL에서 날짜 및 시간 함수의 예시는 무엇이 있나요?

_____
Q1: MySQL에서 현재 날짜와 시간을 가져오는 함수는 무엇인가요?
A1: `NOW()` 함수는 현재의 날짜와 시간을 `YYYY-MM-DD HH:MM:SS` 형식으로 반환합니다. 예: `SELECT NOW();`

Q2: 오늘 날짜만 반환하는 함수는 무엇인가요?
A2: `CURDATE()` 함수는 현재 날짜를 `YYYY-MM-DD` 형식으로 반환합니다. 예: `SELECT CURDATE();`

Q3: 현재 시간을 가져오는 함수는 무엇인가요?
A3: `CURTIME()` 함수는 현재 시간을 `HH:MM:SS` 형식으로 반환합니다. 예: `SELECT CURTIME();`

Q4: 문자열을 날짜로 변환하는 함수는 무엇인가요?
A4: `STR_TO_DATE()` 함수는 특정 형식의 문자열을 날짜나 datetime 형식으로 변환합니다. 예: `SELECT STR_TO_DATE('2024-06-01', '%Y-%m-%d');`

Q5: 날짜에서 연도만 추출하는 함수는 무엇인가요?
A5: `YEAR()` 함수는 날짜에서 연도를 추출합니다. 예: `SELECT YEAR('2024-06-01');` 결과: `2024`

Q6: 날짜에서 월을 추출하는 함수는 무엇인가요?
A6: `MONTH()` 함수는 날짜에서 월을 추출합니다. 예: `SELECT MONTH('2024-06-01');` 결과: `6`

Q7: 날짜에서 일을 추출하는 함수는 무엇인가요?
A7: `DAY()` 또는 `DAYOFMONTH()` 함수는 날짜에서 일을 추출합니다. 예: `SELECT DAY('2024-06-01');` 결과: `1`

Q8: 날짜에 일수를 더하거나 빼는 함수는 무엇인가요?
A8: `DATE_ADD()` 함수는 날짜에 특정 기간을 더합니다. 예: `SELECT DATE_ADD('2024-06-01', INTERVAL 5 DAY);`
`DATE_SUB()` 함수는 날짜에서 기간을 뺍니다. 예: `SELECT DATE_SUB('2024-06-01', INTERVAL 3 DAY);`

Q9: 두 날짜 사이의 차이를 구하는 함수는 무엇인가요?
A9: `DATEDIFF()` 함수는 두 날짜 사이의 일(day) 단위 차이를 반환합니다. 예: `SELECT DATEDIFF('2024-06-10', '2024-06-01');` 결과: `9`

Q10: 날짜를 특정 형식의 문자열로 변환하는 함수는 무엇인가요?
A10: `DATE_FORMAT()` 함수는 날짜를 지정한 형식의 문자열로 변환합니다. 예: `SELECT DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s');` 결과: `2024/06/01 15:30:45`

Q11: 주의 요일 숫자를 반환하는 함수는 무엇인가요?
A11: `DAYOFWEEK()` 함수는 날짜의 요일을 숫자(1: 일요일, 7: 토요일)로 반환합니다. 예: `SELECT DAYOFWEEK('2024-06-01');`

Q12: 2개의 시간 차이를 시:분:초 포맷으로 구하는 함수는 무엇인가요?
A12: `TIMEDIFF()` 함수는 두 시간 또는 datetime 값의 차이를 시:분:초 형식으로 반환합니다. 예: `SELECT TIMEDIFF('2024-06-01 12:00:00', '2024-06-01 10:30:00');` 결과: `01:30:00`

---

이와 같이 MySQL에서는 날짜와 시간 관련 다양한 기본 함수를 제공하여, 날짜 계산 및 포맷 변환을 쉽게 수행할 수 있습니다.
MySQL은 날짜와 시간 관련 데이터를 처리하기 위한 다양한 함수들을 제공합니다.

이러한 함수들은 날짜 및 시간의 계산, 형식 변환, 비교 등을 쉽게 수행할 수 있도록 도와줍니다.

아래에서는 MySQL에서 자주 사용되는 날짜 및 시간 함수에 대해 자세히 설명하겠습니다.

1. NOW()`NOW()` 함수는 현재의 날짜와 시간을 반환합니다.

이 함수는 일반적으로 데이터베이스에 레코드를 삽입할 때 현재 시간을 기록하기 위해 사용됩니다.

```sqlSELECT NOW();```

2. CURDATE() 및 CURTIME()- `CURDATE()` 함수는 현재 날짜를 반환합니다.

- `CURTIME()` 함수는 현재 시간을 반환합니다.

```sqlSELECT CURDATE(); -- 예: 2023-10-01SELECT CURTIME(); -- 예: 14:30:00```

3. DATE()`DATE()` 함수는 주어진 날짜 및 시간 값에서 날짜 부분만을 추출합니다.

```sqlSELECT DATE(NOW()); -- 현재 날짜만 반환```

4. TIME()`TIME()` 함수는 주어진 날짜 및 시간 값에서 시간 부분만을 추출합니다.

```sqlSELECT TIME(NOW()); -- 현재 시간만 반환```

5. DATE_FORMAT()`DATE_FORMAT()` 함수는 날짜 값을 특정 형식으로 변환합니다.

이 함수는 다양한 형식 지정자를 사용하여 날짜를 원하는 형식으로 출력할 수 있습니다.

```sqlSELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 예: 2023-10-01 14:30:00```

6. ADDDATE() 및 SUBDATE()- `ADDDATE()` 함수는 주어진 날짜에 일수를 추가합니다.

- `SUBDATE()` 함수는 주어진 날짜에서 일수를 빼줍니다.

```sqlSELECT ADDDATE(NOW(), INTERVAL 7 DAY); -- 현재 날짜에 7일 추가SELECT SUBDATE(NOW(), INTERVAL 7 DAY); -- 현재 날짜에서 7일 빼기```

7. DATEDIFF()`DATEDIFF()` 함수는 두 날짜 간의 차이를 일수로 반환합니다.

```sqlSELECT DATEDIFF('2023-10-10', '2023-10-01'); -- 결과: 9```

8. TIMEDIFF()`TIMEDIFF()` 함수는 두 시간 간의 차이를 시간 형식으로 반환합니다.

```sqlSELECT TIMEDIFF('14:30:00', '12:00:00'); -- 결과: 02:30:00```

9. UNIX_TIMESTAMP()`UNIX_TIMESTAMP()` 함수는 현재 날짜와 시간을 UNIX 타임스탬프 형식으로 반환합니다.

UNIX 타임스탬프는 1970년 1월 1일 00:00:00 UTC부터의 초 단위 경과 시간을 나타냅니다.

```sqlSELECT UNIX_TIMESTAMP(); -- 예: 1696153800```

10. FROM_UNIXTIME()`FROM_UNIXTIME()` 함수는 UNIX 타임스탬프를 날짜 및 시간 형식으로 변환합니다.

```sqlSELECT FROM_UNIXTIME(1696153800); -- 예: 2023-10-01 14:30:00```

11. YEAR(), MONTH(), DAY()이 함수들은 각각 주어진 날짜에서 연도, 월, 일을 추출합니다.

```sqlSELECT YEAR(NOW()); -- 현재 연도SELECT MONTH(NOW()); -- 현재 월SELECT DAY(NOW()); -- 현재 일```

12. LAST_DAY()`LAST_DAY()` 함수는 주어진 날짜가 포함된 월의 마지막 날짜를 반환합니다.

```sqlSELECT LAST_DAY('2023-10-01'); -- 결과: 2023-10-31``` 13. WEEK()`WEEK()` 함수는 주어진 날짜의 주 번호를 반환합니다.

주 번호는 주의 첫 번째 날을 기준으로 계산됩니다.

```sqlSELECT WEEK(NOW()); -- 현재 날짜의 주 번호``` 14. STR_TO_DATE()`STR_TO_DATE()` 함수는 문자열을 날짜 형식으로 변환합니다.

이 함수는 날짜 형식이 문자열로 제공될 때 유용합니다.

```sqlSELECT STR_TO_DATE('2023-10-01', '%Y-%m-%d'); -- 날짜 형식으로 변환``` 15. DATE_ADD() 및 DATE_SUB()- `DATE_ADD()` 함수는 날짜에 특정 기간을 추가합니다.

- `DATE_SUB()` 함수는 날짜에서 특정 기간을 뺍니다.

```sqlSELECT DATE_ADD('2023-10-01', INTERVAL 10 DAY); -- 결과: 2023-10-11SELECT DATE_SUB('2023-10-01', INTERVAL 10 DAY); -- 결과: 2023-09-21```이와 같은 MySQL의 날짜 및 시간 함수들은 데이터베이스에서 날짜와 시간을 효과적으로 처리하고 조작하는 데 매우 유용합니다.

이러한 함수들을 적절히 활용하면 복잡한 날짜 계산이나 형식 변환을 쉽게 수행할 수 있습니다.

작성자: 최은서 [비회원] | 작성일자: 1년 전 2024-09-06 13:11:09
조회수: 303 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.