DB/Mysql

πŸ’» [SQL] λ‚ μ§œμ™€ μ‹œκ°„(DATE and TIME) μžλ£Œν˜•

μ™„μžβœ¨ 2022. 7. 19. 23:11

πŸ’» [SQL] λ‚ μ§œμ™€ μ‹œκ°„(DATE and TIME) μžλ£Œν˜•

1. DATE νƒ€μž…

  • DATE νƒ€μž…μ€ λ‚ μ§œλŠ” ν¬ν•¨ν•˜μ§€λ§Œ μ‹œκ°„μ€ ν¬ν•¨ν•˜μ§€ μ•Šμ„ λ•Œ μ‚¬μš©ν•˜λŠ” νƒ€μž…μž…λ‹ˆλ‹€.
  • DATE νƒ€μž… YYYY-MM-DD ν˜•μ‹ μž…λ ₯κ°€λŠ₯ν•˜λ©°, '1000-01-01' λΆ€ν„° '9999-12-31' κΉŒμ§€λ§Œ μž…λ ₯κ°€λŠ₯ν•©λ‹ˆλ‹€.

2. DATETIME νƒ€μž…

  • DATETIME νƒ€μž…μ€ λ‚ μ§œμ™€ μ‹œκ°„μ„ λͺ¨λ‘ 포함할 λ•Œ μ‚¬μš©ν•˜λŠ” νƒ€μž…μž…λ‹ˆλ‹€.
  • YYYY-MM-DD HH:MM:SS의 ν˜•νƒœλ‘œ μ‚¬μš©λ˜λ©° '1001-01-01 00:00:00'λΆ€ν„° '9999-12-31 23:59:59'κΉŒμ§€ μž…λ ₯이 κ°€λŠ₯ν•˜λ‹€

3. TIME νƒ€μž…

  • TIME은 HH:MM:SS의 ν˜•νƒœλ₯Ό μ§€λ‹Œλ‹€.(HHH:MM:SS의 ν˜•νƒœλ₯Ό 띄기도 ν•œλ‹€)
  • -838:59:59 λΆ€ν„° 838:59:59 κΉŒμ§€μ˜ λ²”μœ„λ₯Ό κ°€μ§„λ‹€. μ΄λ•Œ TIME type의 μ‹œκ°„μ΄ 크닀고 λŠλ‚„μˆ˜λ„ μžˆλ‹€.
  • TIME은 ν˜„μž¬μ˜ μ‹œκ°„μ„ ν‘œν˜„ν• λ•Œλ§Œ μ“°λŠ”κ²ƒμ΄ μ•„λ‹ˆλΌ 이미 μ§€λ‚˜λ²„λ¦° μ‹œκ°„μ΄λ‚˜, νŠΉμ • 이벀트끼리의 간극을 ν‘œν˜„ν•˜λŠ”λ° μ‚¬μš©λ˜κΈ° λ•Œλ¬Έμ— 이처럼 쓰인닀.

4. TIMESTAMP νƒ€μž…

  • TIMESTAMP μ—­μ‹œ λ‚ μ§œμ™€ μ‹œκ°„μ„ ν¬ν•¨ν•œλ‹€.
  • TIMESTAMPλŠ” 1970-01-01 00:00:01 UTC λΆ€ν„° 2038-01-19 03:14:07UTC κΉŒμ§€κ°€ κ·Έ λ²”μœ„μ΄λ‹€.

πŸ“Œ DATETIME vs TIMESTAMP

DATETIME은 말 κ·ΈλŒ€λ‘œ λ‚ μ§œμ™€ μ‹œκ°€, 이 λ‘˜μ˜ 'μ ˆλŒ€μ '인 κ°’, 반면 TIMESTAMPλŠ” 'μƒλŒ€μ 'μž…λ‹ˆλ‹€. μ‹œκ°„λŒ€μ— 영ν–₯을 λ°›μŠ΅λ‹ˆλ‹€.

μ½λŠ” κ³³λ§ˆλ‹€ ν•΄λ‹Ή μ‹œκ°„λŒ€λ‘œ 보이도둝 ν•  λ•ŒλŠ” TIMESTAMPλ₯Ό, μ–΄λ””μ—μ„œλ“  λ˜‘κ°™μ΄ 보이도둝 ν•  μ‹œκ°„μ€ DATETIME을 μ‚¬μš©ν•˜λ©΄ λ©λ‹ˆλ‹€.

  • κ·Έ μ™Έμ˜ μ°¨μ΄λ‘œλŠ” DATETIME은 8λ°”μ΄νŠΈ, TIMESTAMPλŠ” 4λ°”μ΄νŠΈμ΄κ³ 
  • DATETIMEμœΌλ‘œλŠ” 1000λ…„λΆ€ν„° 9999λ…„κΉŒμ§€, TIMESTAMPλ‘œλŠ” 1970λ…„λΆ€ν„° 2038λ…„κΉŒμ§€ 기둝이 κ°€λŠ₯ν•˜λ‹€λŠ” 것
  • TIMESTAMPλŠ” ν–‰ μΆ”κ°€μ‹œ 값을 μ•ˆ λ„£μœΌλ©΄ μžλ™μœΌλ‘œ ν˜„ μ‹œκ°„μ΄ μž…λ ₯λœλ‹€λŠ” 것