• SQL SERVER 中的smalldatetime和datetime区别


    smalldatetime不能到秒.
    不過它占的空間小.(4位)
    datetime(8位)
    而且兩者的時間範圍不一樣.  

    datetime占8字节,精度3.33毫秒,时间从1753.1.1到9999.12.31
    smalldatetime占4字节,精度1分钟,时间从1900.1.1到2079.6.6
       
    datetime

    Date and time data from January 1, 1753, to December 31, 9999, with an accuracy of three-hundredths of a second, or 3.33 milliseconds.

    smalldatetime

    Date and time data from January 1, 1900, through June 6, 2079, with an accuracy of one minute.

     

     

    碰上了這件事,才學到教訓,一直以為smalldatetime和datetime的差別只是在於時間範圍:
    smalldatetime的有效時間範圍1900/1/1~2079/6/6
    datetime的有效時間範圍1753/1/1~9999/12/31
    所以我判斷如果該值不用到太遠的日期範圍,就會使用smalldatetime。
    但我忽略了更關鍵的差別,那就是smalldatetime只精準到分,而datetime則可精準到3.33毫秒。
    因此,當我怎麼存,秒都是00後,才發現原來是smalldatetime惹的禍,待我將資料型別改成datetime後,秒的部份就可以正常儲存了。

    *****************************************************************************************
    SQL Server中,smalldatetime只能精确到分钟,而datatime可以精确到3%秒(3.33毫秒)。

    smalldatetime占用4个字节,前2个字节存储base date(1900年1月1日)之后的天数。后2个字节存储午夜后的分钟数

    datetime占用8个字节,前4个字节存储base date(即1900年1月1日)之前之后的天数,后4个字节存储午夜后的毫秒数

    由于datetime的精度是3%秒,这就涉及到小数,毫秒之前可以是冒号,也可以是小数点。使用冒号时表示的意义同时分秒间隔,11:11:11:21表示021毫秒,前面的0省略,而小数点表示的意义同数学上的小数点,如11:11:11.21表示210毫秒,省略的是后面的0。

  • 相关阅读:
    实时获取管道信息的一个小框架
    multiprocessing还是threading?
    QThread的一些使用心得
    super超类继承特点小结
    打靶总结
    简析Colorspace
    第一个Unity3D脚本
    一个新的计划,写在年末
    lambda函数的特性
    Nuke Python module的使用
  • 原文地址:https://www.cnblogs.com/YEKEYISHUO/p/2795879.html
Copyright © 2020-2023  润新知