博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
插入数据类型为DateTime时为空值时,为什么SQL SERVER会自动加上"1900-01-01"
阅读量:6679 次
发布时间:2019-06-25

本文共 714 字,大约阅读时间需要 2 分钟。

系统默认的吧, 

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,那么设为空,不过这样的话打印的时候会有问题的,所以还是建议用前面一种办法

本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2011/11/28/2265985.html,如需转载请自行联系原作者

你可能感兴趣的文章
使用servlet API作为参数
查看>>
mysql 大数据提取
查看>>
centos7系统下nginx安装并配置开机自启动操作
查看>>
线性表 - 链式存储结构
查看>>
Python encode() 方法(转)
查看>>
《Android进阶之光》--Android新特性
查看>>
laydate 和 Vue 奇怪的清空问题
查看>>
洛谷P4016 负载平衡问题(最小费用最大流)
查看>>
微软文档
查看>>
jquery.dataTables列中内容居中问题?求解?
查看>>
ceph 底层代码分享
查看>>
vivado 的调试工具ILA抓到的波形可以保存
查看>>
SpringBoot(三):springboot启动参数
查看>>
2015小米暑期实习笔试题_风口的猪-中国牛市(dp)
查看>>
Modelsim添加Lattice库
查看>>
体验h5离线缓存
查看>>
MVC教程六:视图的寻址
查看>>
制作chrome插件/扩展程序,禁止谷歌浏览器访问某些网站
查看>>
查看某一职责下对应的菜单&功能&请求(转)
查看>>
【spring data jpa】启动报错:nested exception is java.util.NoSuchElementException
查看>>