DATABASE/Theory

[SQL] λ‚ μ§œ ν•¨μˆ˜

ITs Min 2024. 1. 3.

πŸ” CURRENT_DATE(), CURRENT_DATE

μ‹œκ°„μ„ μ œμ™Έν•˜κ³  λ…„-μ›”-일 ν˜•μ‹μœΌλ‘œ λ‚ μ§œλ§Œμ„ μ œκ³΅ν•œλ‹€.

SELECT CURRENT_DATE();

πŸ” CURRENT_TIME(), CURRENT_TIME

ν˜„μž¬ μ‹œκ°„μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€. λ‚ μ§œλŠ” ν¬ν•¨λ˜μ§€ μ•ŠλŠ”λ‹€. μ‹œκ°„μ€ μ‹œ:λΆ„:초 ν˜•μ‹μœΌλ‘œ ν‘œμ‹œλœλ‹€.

SELECT CURRENT_TIME();

πŸ” CURRENT_TIMESTAMP(), NOW()

ν˜„μž¬ λ‚ μ§œμ™€ μ‹œκ°„μ„ λ°˜ν™˜ν•œλ‹€. 이 ν•¨μˆ˜λŠ” λ…„-μ›”-일 μ‹œ:λΆ„:초 ν˜•μ‹μœΌλ‘œ λ‚ μ§œμ™€ μ‹œκ°„μ„ μ œκ³΅ν•œλ‹€.

SELECT CURRENT_TIMESTAMP();
-- λ˜λŠ”
SELECT NOW();

πŸ” DATE_FORMAT()

λ‚ μ§œ 및 μ‹œκ°„μ„ μ§€μ •λœ ν˜•μ‹μœΌλ‘œ ν¬λ§·ν•œλ‹€. ν˜•μ‹ μ§€μ •μžλ₯Ό μ‚¬μš©ν•˜μ—¬ μ›ν•˜λŠ” ν˜•μ‹μ„ μ •μ˜ν•  수 μžˆλ‹€.

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS formatted_datetime;

πŸ” DATE_ADD(), DATE_SUB()

λ‚ μ§œμ— 일, μ‹œκ°„ λ˜λŠ” 간격을 μΆ”κ°€ν•˜κ±°λ‚˜ λΊ„ 수 μžˆλ‹€. INTERVAL을 μ‚¬μš©ν•˜μ—¬ μΆ”κ°€ λ˜λŠ” κ°μ†Œν•  κ°’κ³Ό λ‹¨μœ„λ₯Ό μ§€μ •ν•œλ‹€.

SELECT DATE_ADD(NOW(), INTERVAL 7 DAY) AS future_date;
SELECT DATE_SUB(NOW(), INTERVAL 3 MONTH) AS past_date;

πŸ” DATEDIFF(), TIMESTAMPDIFF()

두 λ‚ μ§œ κ°„μ˜ 차이λ₯Ό κ³„μ‚°ν•œλ‹€. DATEDIFF ν•¨μˆ˜λŠ” λ‚ μ§œ κ°„μ˜ 차이λ₯Ό 일 λ‹¨μœ„λ‘œ λ°˜ν™˜ν•˜κ³ , TIMESTAMPDIFF ν•¨μˆ˜λŠ” μ›ν•˜λŠ” λ‹¨μœ„λ‘œ 차이λ₯Ό κ³„μ‚°ν•œλ‹€.

SELECT DATEDIFF('2024-01-01', '2023-01-01') AS date_difference;
-- λ˜λŠ”
SELECT TIMESTAMPDIFF(DAY, '2023-01-01', '2024-01-01') AS date_difference;

πŸ” EXTRACT()

λ‚ μ§œ λ˜λŠ” μ‹œκ°„μ—μ„œ νŠΉμ • ꡬ성 μš”μ†Œλ₯Ό μΆ”μΆœν•œλ‹€. YEAR, MONTH, DAY 등을 μΆ”μΆœν•  수 μžˆλ‹€.

SELECT EXTRACT(YEAR FROM '2024-01-03') AS year;
SELECT EXTRACT(MONTH FROM '2024-01-03') AS month;

 

'DATABASE > Theory' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[SQL] μ§‘κ³„ν•¨μˆ˜  (1) 2024.01.03
[SQL] λ¬Έμžμ—΄ ν•¨μˆ˜(2)  (0) 2023.12.31
[SQL] λ¬Έμžμ—΄ ν•¨μˆ˜(1)  (0) 2023.12.31
[SQL] μ„œλΈŒμΏΌλ¦¬  (0) 2023.12.26
[SQL] SQL Serverμ—μ„œ λ‹€λ£¨λŠ” μžλ£Œν˜•  (1) 2023.12.24

λŒ“κΈ€

TOP

λŠ¦μ—ˆλ‹€κ³  생각할 땐 λ„ˆλ¬΄ λŠ¦μ€ κ±°λ‹€.