插入数据类型为DateTime时为空值时,为什么SQL SERVER会自动加上"1900-01-01"

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

系统默认的吧, 
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,如需转载请自行联系原作者


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
9天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
2天前
|
SQL 关系型数据库 分布式数据库
PolarDB产品使用问题之如何迁移SQL Server
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
20小时前
|
SQL 存储 机器人
SQL Server 中 RAISERROR 的用法详解
SQL Server 中 RAISERROR 的用法详解
|
3天前
|
SQL druid Java
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
9 1
|
6天前
|
SQL 存储 XML
SQL 通用数据类型
SQL 通用数据类型
15 1
|
6天前
|
SQL 数据库
零基础学习数据库SQL语句之操作表中数据的DML语句
零基础学习数据库SQL语句之操作表中数据的DML语句
9 0
零基础学习数据库SQL语句之操作表中数据的DML语句
|
10天前
|
SQL 存储 数据库
如何在SQL中添加数据:一个初学者指南
如何在SQL中添加数据:一个初学者指南
20 3
|
9天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
10天前
|
SQL 弹性计算 API
云服务器 ECS产品使用问题之如何通过API调用阿里云服务器上SQL Server数据库中的数据
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
2天前
|
SQL
sql语句按指定某个字段分组后删除重复数据只保留id最小/最大的一条数据
sql语句按指定某个字段分组后删除重复数据只保留id最小/最大的一条数据
4 0