数据类型——时间和日期

原创 2013年12月03日 14:51:16
做机房收费系统时设计到数据库的设计,其中一项就是数据类型的选择,对于时间和日期,那个时候自己一个选择Datetime,一个选择Date,结果可想而知并没有显示出来自己想要的结果:

  (1)Datetime:

DateTime 日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间

  (2)Date

	Date是SQL Server 2008新引进的数据类型。它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存储空间

  之外还有一个重要的只显示时间的数据类型(time(n))

SQL Server2008和SQL Server2008 R2现在有了一个TIME数据类型,它允许你只存储一个时间值而没有时间。如果想要存储一个特定的时间信息而不涉及具体的日期时。TIME数据类型存储使用24小时制,它并不关心时区,支持高达100纳秒的精确度。TIME数据类型支持从0到7不同的精度,就像DATETIME2格式,它的磁盘开销是3到5个字节,取决与精度。TIME列的长度与精度如下表所示:


l  fractionalseconds precision:为秒的小数部分指定数字的位数。

这可以是从 0 到 7 的整数。

默认的小数精度是 7 (100ns)

l  默认的字符串文字格式

hh:mm:ss[. nnnnnnn]

l  范围

00:00:00.0000000到 23:59:59.9999999

l  各元素的范围

hh 是表示小时的两位数字,范围为 0 到 23。

mm 是表示分钟的两位数字,范围为 0 到 59。

ss 是表示秒的两位数字,范围为 0 到 59。

n* 是 0 到 7 位数字,范围为 0 到9999999,它表示秒的小数部分

l  字符长度

最小 8 位 (hh:mm:ss),最大 16 位(hh:mm:ss. nnnnnnn)

 

所以根据你想要获得的结果选择合适的日期类型,这样才能得出你想要的结果。Time(n)是一个只显示时间的数据类型,这样便不会在显示时间的把日期也显示出来。

版权声明:本文为博主原创文章,未经博主允许不得转载。

MS SQL Server 2000中用于日期时间存储数据类型说明

以下内容转载自:www.merrymart.net/bbs/MS SQL Server 中用于日期时间存储的有两种数据类型:datetime,samlldatetime,所占的存储空间分别是8字节与4...
  • yang073402
  • yang073402
  • 2009年10月03日 17:38
  • 2967

日期和时间数据类型

日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型    日期和时间数据类型由有效的日期和时间组成。例如,有效的日期和时间数据包括“4/01/98 12:15:00:0...
  • u014750204
  • u014750204
  • 2014年04月16日 17:00
  • 41

oracle、mysql、PostgreSQL有关时间查询和时间切割

oracle--日期转换: SELECT COUNT(*) FROM MY_TABLE T WHERE T.DATE_UPDATED >= TO_DATE('2015-11-19 ...
  • xuemeilu
  • xuemeilu
  • 2017年10月01日 17:20
  • 197

MySQL 日期数据类型、时间类型使用总结

MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。  日期类型        存储空间       日期格式                 日期范围  ------------ --...
  • snakorse
  • snakorse
  • 2014年02月28日 19:08
  • 627

oracle 数据类型---日期和时间

日期和时间类型主要用来存储日期和
  • fang_fang_2008
  • fang_fang_2008
  • 2014年08月29日 09:50
  • 319

Sqlite3 时间类型及操作

SQLite包含了如下时间/日期函数: datetime().......................产生日期和时间 date()...........................产生日期...
  • qingyoucan
  • qingyoucan
  • 2012年08月17日 15:13
  • 3919

日期、时间、时间戳的区别

日期: 年-月-日  如: '1980-12-08'     范围从0001-1-1至9999-12-31时间: 小时数:分钟数:秒数 如:'23:59:59'时间戳: 年-月-日 小时数:分钟数:秒...
  • nash603
  • nash603
  • 2011年02月22日 13:41
  • 10130

com.microsoft.sqlserver.jdbc.SQLServerException: 不允许从数据类型 varbinary 到 date 的隐式转换。请使用 CONVERT 函数来运行此

在利用String进行数据格式判断时 if("".equals(date) || null==date) return null;
  • u014370239
  • u014370239
  • 2014年04月24日 11:22
  • 1945

Aceess中插入时间提示标准数据类型不匹配

个人使用软件插入时间到Access数据库中,提示“标准数据类型不匹配”。我在XP,win8.1和server2008系统上都可以正常运行,但是一到win10上就报错了。网上查了不少资料也解决不了。偶然...
  • dsyzxty
  • dsyzxty
  • 2015年09月28日 09:44
  • 612

hive的时间类型的查询

我用Hive写查询的时候发现,查询条件里面如果指定了时间范围,查询的速度会变更的非常慢,具体如下: 我是想查询12月18~25号的数据,device_gmt_time字段的内容是yyyy-MM-...
  • LanSeTianKong12
  • LanSeTianKong12
  • 2016年07月01日 11:31
  • 2826
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据类型——时间和日期
举报原因:
原因补充:

(最多只允许输入30个字)