Chinaunix首页 | 论坛 | 博客
  • 博客访问: 112745
  • 博文数量: 53
  • 博客积分: 2062
  • 博客等级: 大尉
  • 技术积分: 550
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 10:14
文章分类

全部博文(53)

文章存档

2011年(1)

2010年(3)

2009年(49)

我的朋友

分类: Mysql/postgreSQL

2009-05-31 10:19:21

1. 环境版本:

  OS : LINUX AS4

  MYSQL: 5.0.51a-log

  ENGINE : Myisam

  2. 分析

  DATATIME 类型 共占8个字节(64位),范围'1000-01-01 00:00:00'到'9999-12-31 23:59:59' ,格式'YYYY-MM-DD HH:MM:SS'

  其中:从左到右数

  1~32位: 日期(共32位) = year*10000 + month*100 + day

  33~64位: 存储时间(共32位) = hour*10000 + minute*100 + second

  比如," 2009-03-09 12:32:12",其中:

  注意这里都是用十进制来计算的.

  ---------------------------------------------

  日期: 2009*10000 + 3*100 +9 --> 20090309

  时间: 12 *10000 + 32*100 +12 --> 123212

  ---------------------------------------------

  将时间和日期合并后,组成一个新的INTEGER数值:

  十进制 十六进制

  ---------------------------------------------

  20090309123212 --> 0x1245A3BD1C8C

  注意:日期时间字段的数据是反向存储的.

  所以存到数据文件里应该是: 8c 1c bd a3 45 12

阅读(609) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~