Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1740208
  • 博文数量: 263
  • 博客积分: 1218
  • 博客等级: 少尉
  • 技术积分: 2862
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-19 02:33
文章分类

全部博文(263)

文章存档

2020年(12)

2019年(2)

2018年(10)

2016年(1)

2015年(20)

2014年(115)

2013年(46)

2012年(37)

2011年(20)

分类: 数据库开发技术

2012-03-05 10:21:57

 Access中:

Access 在内部以 浮点数的形式存储“日期/时间”值。每一个此类数值均包含日期和时间两部分。小数点左边的整数部分表示日期。小数点右边的小数部分表示时间。

此处显示的双精度数值表示 2003 年 12 月 24 日下午 9:00,即 37979.875。这是因为 Access 在日期部分存储的值是从基准日期 1899 年 12 月 30 日算起的经过天数。从基准日期 1899 年 12 月 30 日到 2003 年 12 月 24 日正好是 37,979 天。

日期部分是负值表示在基准日期之前的日期。例如,日期部分值为 -1 表示基准日期前一天,即 1899 年 12 月 29 日。时间部分数值代表相对于 24 小时一整天的经过比例,因此时间部分值为 .875 表示经过 21 小时,即下午 9:00。

因为 Access 在内部表示“日期/时间”值的形式(如示例中的 37979.875)与通常使用的形式不同,将内部双精度格式的“日期/时间”值转换为通常使用的格式就非常重要。您可以使用 Access 内置函数 CDate() 进行这一转换。

函数是执行若干步骤操作并返回结果的过程。Access 包括很多内置函数,您可以使用这些函数在数据库应用程序中执行计算等操作,或与本例一样,将一种日期类型转换为另一种类型。CDate() 函数可以将双精度数值转换为“日期/时间”值。您可以使用 CDbl() 函数执行相反操作,将“日期/时间”值转换为等效的双精度数值。

 

SQL Server中:
 timestamp在SQL server中是减去1900-1-1这天的天数得到的,比如输入2004-12-12那么这个日期在数据库中的值就为38331,
datetime类型数据长度为8字节,日期和时间分别使用4个字节存储,前4个字节用于存储datetime类型数据中距1900年1月1日的天数(负数表示在1900年1月1号之前, 正数就是1900年1月1号之后), 后4个字节用于存储datetime类型数据中距12:00(24小时制)的毫秒数. 

mysql: 
TIMESTAMP[(M)]
 一个时间戳。范围是 '1970-01-01 00:00:00' 到 2037 年间的任意时刻。 MySQL 4.0 和更早版本中,TIMESTAMP 值是以 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD 格式显示的,它取决于 M 是否是 14 (或省略)、12、8 或 6,但是允许你以字符串或数字给一个 TIMESTAMP 列赋值。 从 MySQL 4.1 开始,TIMESTAMP 以 'YYYY-MM-DD HH:MM:DD' 格式作为字符返回。如果你你希望以数字形式返回则必须在该时间戳字段后加上 +0

T-SQL timestamp 数据类型与在 SQL-92 标准中定义的 timestamp 数据类型是不同的。
 SQL-92 timestamp 数据类型等价于 T-SQL 中的 datetime 数据类型。
MySQL 也是遵循于 SQL-92 的,
所以在 MySQL 中, datetime 在数据库里保存的就是 YYYYMMDDHHMMSS


如果希望得到一个 从 '1970-01-01 00:00:00' GMT 开始经过的秒数值,
 你可以调用 函数
UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)

转:
 SQL Server 应用教程

阅读(8722) | 评论(0) | 转发(0) |
0

上一篇:access

下一篇:什么是MONO

给主人留下些什么吧!~~