当前位置: 首页 > 面试题库 >

为什么当我在SQL Server中插入DateTime空值时具有``0001-01-01''?

子车青青
2023-03-14
问题内容

我尝试在数据库中为类型为’date’的字段插入值null(DateTime),但始终会得到 ‘0001-01-01’
。我不明白,该字段“允许为空”,我也不知道为什么要使用这个默认值。

我在MVC(实体框架)中使用C#asp .net,这是我的代码:

Budget_Synthesis newBS = new Budget_Synthesis
{
    Budget_Code = newBudgetCode,
    Last_Modified_Date = null
};
db.Budget_Synthesis.AddObject(newBS);

Last_Modified_Date键入System.DateTime吗?所以我不知道他们为什么要改变这个“空”。

如果我尝试在我的应用程序上显示该值,我会得到 01/01/0001 00:00:00

0001-01-01使用SSMS

有人可以向我解释为什么我不能获得真正的“ NULL”?

最好的祝福


问题答案:

我认为这是对应于null的值



 类似资料:
  • 在windows上的MongoDB Shell中,如果运行值为的查询 它实际上似乎在寻找 如果您直接在Mongo Shell中输入“new ISODate('0001-01-01T00:00:00Z')”,您可以在返回ISODate(“1901-01-01T00:00:00Z”)时看到正在进行的转换。 奇怪的是,当您使用“new Date”而不是“new ISODate”时,请输入: 它返回正确的

  • 我有一个通过express连接的SQLite数据库,并且有使用express路由连接前端和后端的控制器。 表数据库 Knex插入行 反应前端 这里的问题是在前端,当我使用时,我得到的值为null,但当我用“text”替换stock.symbol,我得到的值为text。我在这里做错了什么?谢谢! 附注-这是常量存货

  • 我在我的应用程序中有一个输入字段,它通过日期选择器接受日期。有时用户不选择任何日期,他们可能会提交空白(客户端要求),因为这不是一个强制字段。 空白提交后,存储在SQL Server 2008数据库中的数据为“1900-01-01”。相反,我需要将数据存储为'NULL'或'empty'或'0000-00-00',而不是任何其他有效的日期格式。 如果<代码>请求。getparameter()为空,我

  • 问题内容: 这是一些用一个非常简单的表设置的SQL。 然后,这会重现问题 有任何想法吗? 我认为nVarchar2有点奇怪吗?如果我将列类型更改为varChar2,则可以。可悲的是,我无法更改问题所在的实际生产数据库的列类型 问题答案: 如果将“ NAME” NVARCHAR2(255)更改为“ NAME” VARCHAR2(255)(即通过使用varchar2),则不会有任何问题。您可以在htt

  • 我有一个使用JavaFX任务显示一些数据的折线图: 当我有空数据时,我很感兴趣,因为我必须插入行值,如何在图表中显示标签“无数据”? 有没有这样的例子