MYSQL-資料型別儲存-DATE
1. 環境版本:
OS : LINUX AS4
MYSQL: 5.0.51a-log
ENGINE : Myisam DEFAULT CHARSET=latin1
2. 分析
date 型別共佔3個位元組(24位),範圍'1000-01-01'到'9999-12-31' , 格式'YYYY-MM-DD' ,
其中:從左到右數
1~15位: 儲存年(共15位)
16~19位: 儲存月(共4位)
20~24位: 儲存日(共5位)
比如," 2009-03-09",其中:
十進位制 十六進位制 二進位制
-----------------------------------
2009 -> 0X7D9 -> 000 0111 1101 1001
03 -> 0X03 -> 0011
09 -> 0X09 -> 01001
-----------------------------------
將二進位制組合後: 0000 1111 1011 0010 0110 1001
------------------------------
0 F B 2 6 9
即十六進位制: 0FB269
注意:日期欄位的資料是反向儲存的.
3. 驗證
下面我們可以來驗證一下:
drop table if exists heyf;
create table heyf (id int ,birthday date) type myisam DEFAULT CHARSET=latin1;
insert into heyf values (12,'2009-03-09');
system hexdump /opt/mysql/data/test/heyf.MYD
----------------------------
0000000 0cf9 0000 6900 0fb2
0000008
----------------------------
其中:
f9 : 標誌位
0c 00 00 00 : COL1 ,INT = 12
69 b2 0f : 即日期.由於是反向儲存,所以需要反向讀取:0FB269
4. 相關函式
4.1 十六進位制轉成十進位制
select 0xa +0 ;
--------------------
10
或
select conv("a",16,10) ;
--------------------
10
4.2 十進位制轉成十六進位制
select conv(10,10,16) ;
--------------------
A
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/703656/viewspace-1018370/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MYSQL 資料型別儲存-數值型MySQL 資料型別
- redis-4.資料儲存型別Redis型別
- JavaScript中的資料型別-儲存差別JavaScript資料型別
- Oracle基本資料型別儲存格式淺析——RAW型別Oracle資料型別
- PHP memcached 各種資料型別儲存PHP資料型別
- oracle資料型別與儲存結構Oracle資料型別
- 【資料庫】資料庫儲存元素型別基礎資料庫型別
- mysql-資料庫欄位date datetimeMySql資料庫
- Oracle基本資料型別儲存格式淺析(五)——RAW型別Oracle資料型別
- java處理資料庫date型別資料Java資料庫型別
- MySQL TEXT、DATE、SET 資料型別(轉)MySql資料型別
- Oracle基本資料型別儲存格式淺析(四)——ROWID型別Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(一)Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(二)Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(三)Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(四)Oracle資料型別
- oracle中date資料型別與timestamp資料型別的轉換Oracle資料型別
- oracle將表中date資料型別修改為timestamp資料型別Oracle資料型別
- Oracle基本資料型別儲存格式淺析[zt]Oracle資料型別
- Oracle 儲存型別Oracle型別
- SQL Server日期資料型別DATE的使用SQLServer資料型別
- date型別型別
- Oracle基本資料型別儲存格式淺析(二)——數字型別Oracle資料型別
- Mybatis讀取和儲存json型別的資料MyBatisJSON型別
- Redis常用資料型別及其儲存結構(原始碼篇)Redis資料型別原始碼
- 資料庫儲存時間到底該用什麼型別?資料庫型別
- Redis(一):基本資料型別與底層儲存結構Redis資料型別
- double型別資料在記憶體中中儲存格式型別記憶體
- oracle資料型別data type與儲存空間大小(一)Oracle資料型別
- oracle資料型別data type與儲存空間大小(二)Oracle資料型別
- 字元型別的字元儲存與位元組儲存字元型別
- 建立NFS型別的儲存NFS型別
- 資料型別為date作為查詢條件資料型別
- oracle資料型別date和timestamp的轉化Oracle資料型別
- Date型別和Regex型別型別
- mysql-定時呼叫儲存過程MySql儲存過程
- mysql儲存資料,varchar型別中的資料變成了科學計數法?MySql型別
- 資料庫中Date型別的計算 DATEDIFF() 函式資料庫型別函式