🧱 SQL

MySQL Datetime vs Timestamp

ν–‰νŒ½ 2023. 12. 29. 13:03

 

1. Date, Datetime, Time, Timestamp 

νƒ€μž… ꡬ쑰 λ²”μœ„ μ˜ˆμ‹œ
Date YYYY-MM-DD 1000-01-01 9999-12-31 2023-12-29
Datetime YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 9999-12-34 23:59:59 2023-12-29 12:28:47
Time HH:MM:SS -838:59:59 838:59:59 12:28:47
Timestamp YYYY-MM-MM HH:MM:SS 1970-01-01 00:00:01 2038-01-19 03:14:07 UTC 2023-12-29 12:28:47

 

 

2. Datetime vs Timestamp 

  Datetime Timestamp
νƒ€μž… λ¬Έμžν˜• μˆ«μžν˜•
μš©λŸ‰ 8byte 4byte
μž…λ ₯ κ°’ μž…λ ₯ ν•„μˆ˜ κ°’ μž…λ ₯ν•˜μ§€ μ•Šμ„ μ‹œ μžλ™μœΌλ‘œ ν˜„μž¬ λ‚ μ§œ, μ‹œκ°„μ΄ μž…λ ₯됨
νƒ€μž„μ‘΄κ³Όμ˜ 관계 - νƒ€μž„μ‘΄μ„ λ³€κ²½ν–ˆμ„ λ•Œ ν•΄λ‹Ή μ‹œκ°„λŒ€λ₯Ό λ°˜μ˜ν•œ 값을 좜λ ₯

 

 

3. μš©μ–΄ 정리 

  • νƒ€μž„μ‘΄(Time Zone) : μ‹œκ°„λŒ€. 동일 ν‘œμ€€ μ‹œκ°„μ„ μ±„νƒν•˜κ³  μžˆλŠ” 지ꡬ μ§€μ—­
  • UTC(Universal Time Coordinated) : μ„Έκ³„ν˜‘μ •μ‹œ
  • KST(Korea Standard Time) : ν•œκ΅­ν‘œμ€€μ‹œ (= UTC +9)

 

4. μ£Όμ˜μ‚¬ν•­ 

  • Datetime
    • νƒ€μž„μ‘΄κ³Ό λ¬΄κ΄€ν•˜κ²Œ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ λ„˜κ²¨μ€€ 값을 κ·ΈλŒ€λ‘œ μ €μž₯ν•œλ‹€.
    • λ”°λΌμ„œ κΈ€λ‘œλ²Œ μ„œλΉ„μŠ€μ˜ 경우, νƒ€μž„μ‘΄μ„ λ³€κ²½ν•΄μ•Ό ν•œλ‹€λ©΄ 데이터λ₯Ό μˆ˜λ™μœΌλ‘œ λ³€κ²½ν•΄μ•Ό ν•œλ‹€.
  • Timestamp
    • 데이터λ₯Ό λ³€κ²½ν•  ν•„μš”λŠ” μ—†μ§€λ§Œ, κ°’μ˜ λ²”μœ„κ°€ ν•œμ •λ˜μ–΄ μžˆλ‹€.

 

 

4. κ΄€λ ¨ ν•¨μˆ˜ 

YEAR('2023-12-31')   --> 2023
MONTH('2023-12-31')  --> 12
DAY('2023-12-31')    --> 31

DATEDIFF('2023-01-01', '2023-12-31')             --> 364
TIMESTAMPDIFF(DAY, '2023-01-01', '2023-12-31')   --> 364

DATE_FORMAT('2023-12-31 13:02:34', '%Y%m%d%Y'    --> 2023 12 31 Sunday

 

 

MySQL :: MySQL 5.7 Reference Manual :: 12.7 Date and Time Functions

12.7 Date and Time Functions This section describes the functions that can be used to manipulate temporal values. See Section 11.2, “Date and Time Data Types”, for a description of the range of values each date and time type has and the valid formats

dev.mysql.com