qqjianyue代码工

砌java代码
posts - 62, comments - 9, trackbacks - 0, articles - 10
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

SQL Server的时间变量

Posted on 2008-08-28 11:34 Qzi 阅读(1681) 评论(0)  编辑  收藏 所属分类: SQL

“从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界”
 错误的注意罗,下面是SQL Server下两种变量的详细介绍,时间值越界的明显就会报这个错误
 
datetime
smalldatetime

代表日期和一天内的时间的日期和时间数据类型。
 
  datetime

17531199991231的日期和时间数据,精确度为百分之三秒。如下表所示,把值调整到.000.003、或.007秒的增量。(曾经试过使用1752有错,1753就没有错了,郁闷啊!)

microsoft®sqlserver™拒绝所有其不能识别为1753年到9999年间的日期的值。
  smalldatetime
190011207966的日期和时间数据精确到分钟。29.998秒或更低的smalldatetime值向下舍入为最接近的分钟,29.999秒或更高的smalldatetime值向上舍入为最接近的分钟。
  --returnstimeas12:35
  selectcast(2000-05-0812:35:29.998assmalldatetime)
  go
  --returnstimeas12:36
  selectcast(2000-05-0812:35:29.999assmalldatetime)
  go
 
注释
microsoftsqlserver
用两个4字节的整数内部存储datetime数据类型的值。第一个4字节存储basedate之前或之后的天数。基础日期是系统参考日期。不允许早于175311datetime值。另外一个4字节存储以午夜后毫秒数所代表的每天的时间。
smalldatetime
数据类型存储日期和每天的时间,但精确度低于datetimesqlserversmalldatetime的值存储为两个2字节的整数。第一个2字节存储190011后的天数。另外一个2字节存储午夜后的分钟数。日期范围从190011207966,精确到分钟。


只有注册用户登录后才能发表评论。


网站导航: