程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL數據庫時間類型的物理存儲

MySQL數據庫時間類型的物理存儲

編輯:MySQL綜合教程

MySQL數據庫時間類型的物理存儲的相關知識是本文我們主要要介紹的內容,接下來就讓我們一起來了解一下這部分內容吧。

1.timestamp類型

在行數據中記錄的是時間戳,四個字節,將四個字節的數據轉換為整數就是從1970開始的秒數值

2.date類型

存儲3個字節,例如,若行中記錄的是:

  1. (gdb) p buf[30]  
  2. $4 = 33 '!'  
  3. (gdb) p buf[31]  
  4. $5 = -73 '�'  
  5. (gdb) p buf[32]  
  6. $6 = 15 '\017' 

表示為三個字節的二進制:

00001111     10110111    00100001

其中,1-5位表示日期,6-9位表示月份,剩余的表示年份,因此上述date類型可轉換為2011-09-01

3.year類型

記錄年份,用一個字節記錄,從1900年開始

例如

  1. (gdb) p buf[33]  
  2. $7 = 112 'p' 

表示112+1900 = 2012年

4.datetime

8個字節表示,例如輸入為:2011-08-27 19:32:46

  1. (gdb) p buf[30]  
  2. $122 = -98 '\236'  
  3. (gdb) p buf[31]  
  4. $123 = 3 '\003'  
  5. (gdb) p buf[32]  
  6. $124 = -74 '�'  
  7. (gdb) p buf[33]  
  8. $125 = 106 'j'  
  9. (gdb) p buf[34]  
  10. $126 = 74 'J'  
  11. (gdb) p buf[35]  
  12. $127 = 18 '\022'  
  13. (gdb) p buf[36]  
  14. $128 = 0 '\0'  
  15. (gdb) p buf[37]  
  16. $129 = 0 '\0' 

那麼轉換為(256-98) + 3*256 +  (256-74) * 256 * 256 + 106 * 256 * 256 * 256 + 74 * 256 * 256 * 256*256 + 18 * 256 * 256 * 256 * 256*256

計算結果為:20110827193246, 與輸入的日期相對應!

關於MySQL數據庫時間類型的物理存儲的相關知識就介紹到這裡了,希望本次的介紹能夠對您有所收獲!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved