zoukankan      html  css  js  c++  java
  • 处理日期和时间数据日期和时间数据类型

      在SQL Server 2008之前,SQL Server支持两种表示时间的数据类型:DATETIME和SMALLDATETIME。这两种类型都包括了日期和时间组成部分,而且这两部分是不能分开的。它们在存储需求、支持的日期范围,以及日期的精度上都有所不同。SQL Server 2008新引入了DATE、TIME、DATETIME2和DATETIMEOFFSET数据类型。DATE是单独表示日期的数据类型,TIME是单独表示时间的数据类型,DATETIME2是一种比DATETIME具有更大的日期范围和更好的精度的日期类型,DATETIMEOFFSET具有一个时区组成部分。下表列出了每种日期和时间数据类型的详细信息,包括存储大小、支持的日期范围、精确度,以及推荐的表示格式。

    数据类型

    存储大小(字节)

    日期范围

    准确度

    推荐格式及示例

    DATETIME

    8

    1753-01-01到

    9999-12-31

    3.33毫秒

    'YYYYMMDD hh:mm:ss.nnn'

    '20090212 12:30:15.123'

    SMALLDATETIME

    4

    1900-01-01到

    2079-06-06

    1分钟

    'YYYYMMDD hh:mm'

    '20090212 12:30'

    DATE

    3

    0001-01-01到

    9999-12-31

    1天

    'YYYY-MM-DD'

    TIME

    3到5

    00:00:00.0000000到23:59:59.9999999

    100纳秒

    'hh:mm:ss.nnnnnnn'

    '12:30:15.1234567'

    DATETIME2

    6到8

    0001-01-01 00:00:00.0000000到9999-12-31 23:59:59.9999999

    100纳秒

    'YYYY-MM-DD hh:mm:ss.nnnnnnn'

    '2009-02-12 12:30:15.1234567'

    DATETIMEOFFSET

    8到10

    0001-01-01 00:00:00.0000000到9999-12-31 23:59:59.9999999

    100纳秒

    'YYYY-MM-DD hh:mm:ss.nnnnnnn [+|-] hh:mm'

    '2009-02-12 12:30:15.1234567 +02:00'

      上表中的最后三种数据类型(TIME、DATETIME2,以及DATETIMEOFFSET)的存储空间大小要依赖于所选择的精度(precision)。可以通过0到7之间的整数来指定其精度,分别代表不同小数位数的秒值的精度。例如,TIME(0)表示秒的精度只有0位小数,换句话说,只能准确到1秒。TIME(3)表示准确到1毫秒,而TIME(7)则表示准确到100纳秒。如果没有指定秒的小数部分的精度,SQL Server默认将上述三种类型的精度设置为7。

  • 相关阅读:
    C代码调用Java代码
    简易的美图秀秀利用别人的so库
    C代码输出日志
    JAVA向C传递数据
    JNI使用常见错误
    JNI的开发步骤
    NDk的目录
    交叉编译
    jquery的一点点认识
    [效率提升]工作中的那些命令行
  • 原文地址:https://www.cnblogs.com/ShaYeBlog/p/2701309.html
Copyright © 2011-2022 走看看