zoukankan      html  css  js  c++  java
  • 插入数据类型为DateTime时为空值时,为什么SQL SERVER会自动加上"19000101"

    系统默认的吧,
    update   tablename   set   时间字段= ' '
    SQL   SERVER会自动加上 "1900-01-01 "
    update   tablename   set   时间字段=null
    就不会了

    ======================================

    ull值不会,但是其他会。在系统中,时间不是一个字符串,而是一个带小数的数字——整数部分代表从1900年1月1日以后的天数,小数部分为午夜之后的毫秒数(好像是)。

    ======================================

    datetime/smalldatetime的存储格式是固定的.

    由日期+时间组成.

    如果只存储时间,它会自动加上1900-1-1

    除非你改用字符型字段来存储

    ========================================

    datetime类型系统里面是共用8个字节来存储的,存储的数字类型。

    其中前4个字节用来存储日期1900-1-1之前/后的天数,
    其中后4个字节用来存储00:00后的毫秒数。

    如果是 ' '的就是1900-1-1了。

    ==========================================

    存入之前先检查,如果是空的就设为NULL
    或者取的时候先检查,如果是1900-01-01,那么设为空,不过这样的话打印的时候会有问题的,所以还是建议用前面一种办法

  • 相关阅读:
    UIWebView stringByEvaluatingJavaScriptFromString的使用方法
    手动截图
    KVO与KVC的使用(转)
    LKDBHelper Sqlite操作数据库
    GCD多线程的使用
    ios --- 调用系统"设置"里的功能(转)
    ios开发小技巧(转)
    url字符串中含中文的转码方法
    ios 照片编辑的view封装
    字符串去空格
  • 原文地址:https://www.cnblogs.com/soundcode/p/2265985.html
Copyright © 2011-2022 走看看