垃圾值显示在列中而不是默认值中

时间:2016-04-26 12:33:20

标签: sql sql-server

我有一个名为From_dateto_date的列。这些列的默认约束分别为getdate()9999-12-31

但是在将数据加载到表后我得到了一些奇怪的东西。

而不是默认值,我在1753-01-01 00:00:00.0000000

列中获得了值

有没有人遇到过这种情况?如何解决这个问题?

以下是DDL的一些表格

ALTER TABLE [dbo].[mytable] 
ADD CONSTRAINT [df_FMDT_IX] 
DEFAULT (getdate()) FOR [from_date] 
GO 

ALTER TABLE [dbo].[mytable] 
ADD CONSTRAINT [df_TODT_IX] 
DEFAULT ('9999-12-31') FOR [to_date] 
GO 

列的DATATYPE是DATETIME2

1 个答案:

答案 0 :(得分:2)

您所看到的日期是SQL中的最小日期值。

What is the significance of 1/1/1753 in SQL Server?

我假设有人在该列中输入零,这将显示为最小可能值。