SQL SERVER 中的smalldatetime和datetime区别「建议收藏」

SQL SERVER 中的smalldatetime和datetime区别「建议收藏」SQLSERVER中的smalldatetime和datetime区别Postedon 2011-01-0410:43 Rainbow.ding 阅读(2371)评论(0) 编辑 收藏 smalldatetime不能到秒. 不過它占的空間小.(4位) datetime(8位) 而且兩者的時間範圍不一樣.   datetime占8字节,精度3.3

大家好,又见面了,我是你们的朋友全栈君。

SQL SERVER 中的smalldatetime和datetime区别

Posted on 
2011-01-04 10:43 
Rainbow.ding 阅读(2371) 评论(
0
编辑 
收藏 
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。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144546.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spawn-fcgi原理及源代码分析

    spawn-fcgi原理及源代码分析spawn-fcgi是一个小程序,作用是管理fast-cgi进程,功能和php-fpm类似,简单小巧,原先是属于lighttpd的一部分。后来因为使用比較广泛。所以就迁移出来作为独立项目了。本文介绍的

    2022年7月4日
    29
  • mybatis rowbound_mybatis基本步骤

    mybatis rowbound_mybatis基本步骤其实说白了就是一个用java代替了sql查询的一个方法在java里面写入方法getUserByRowBounds:List<User>getUserByRowBounds();配置文件里写入:<selectid=”getUserByRowBounds”resultMap=”userMap”>select*frommybaties.user;</select>测试类里编写rowBounds进行分页:

    2022年9月15日
    1
  • 中文写代码?开始不信后来用中文写了剧情小游戏!嗯,真香~

    中文写代码?开始不信后来用中文写了剧情小游戏!嗯,真香~你还不知道可以用中文编写脚本制作游戏?那还不赶紧点进来看看~

    2022年6月16日
    38
  • docker(1)下载安装for mac

    docker(1)下载安装for mac前言Docker提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个D

    2022年7月29日
    6
  • NOIP2008_2012年12月16号农历是

    NOIP2008_2012年12月16号农历是NOIP2012DAY1T1Vigenère密码纯模拟#include<bits/stdc++.h>chara[105],b[1005],ans[1005];intlen1,len2,h=1,p;intc[105];usingnamespacestd;intmain(){// freopen(“vigenere.in”,”r”,stdin); …

    2022年8月22日
    6
  • pycharm打包后的exe运行不起_pygame打包成exe闪退

    pycharm打包后的exe运行不起_pygame打包成exe闪退在网上找了很多解决方法,有人说是需要添加环境变量,有人说是需要把import的包放到要打包的文件的同一文件夹下,折腾了一晚上一一排查后都不行,最后加了一个python交流群,在大佬的指导下解决了问题,为了感谢python交流群的帮助以及大佬的无私奉献,这里将群号列出帮忙打个广告,群号:786788101,大佬qq号:3124265576,再次感谢。言归正传,解决方法是在报错目录下寻找pyinstaller这个文件夹,如果没有的话找到你的python安装目录,将C:\ProgramFiles(x86)

    2022年8月26日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号