Why when I insert a DateTime null I have “0001-01-01” in SQL Server?

有些话、适合烂在心里 提交于 2019-11-30 20:10:57

I think this is the value corresponding to the null

If Last_Modified_Date is of type DateTime, you can't have "real null" because DateTime structure - as others already said- is not nullable. So your sample code will not even compile.

If Last_Modified_Date is of type DateTime? (Nullable<DateTime>) your code is correct, but -as @Nikola Dimitroff said in his answer- you can't have "real null" in your database because the default value for DateTime? is 01/01/0001 00:00:00.

The "real null" you are looking for is DBNull.Value, but you can use it only for System.DBNull type; if you assign Last_Modified_Date = DBNull.Value , whatever the type of Last_Modified_Date is, your code will not compile.

Nikola Dimitroff

When saying you are trying to put a null DateTime, are you using a Nullable<DateTime> (a.k.a DateTime?) or simply DateTime? The latter is a value type and its default value is precisely 01/01/0001 00:00:00

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!