出生日期作为SQL Server 2014中的未来日期存储

时间:2017-02-28 17:07:24

标签: sql sql-server

我在SQL Server中存储出生日期时遇到问题。

当我转换为日期功能时,DOB 04/14/48存储为2048-04-14(所需值为1948-04-14)。根据我读到的文章,我将日期的两位数字切割从默认值2049更改为2030.现在我可以将其存储为1948-04-14。但是06/13/20的出生日期仍然存储为2020-06-13(实际值为1920-06-13)。

我不知道我应该设置两位数的截止日期来解决所有这些问题。我正在使用SQL Server 2014.我正在从平面文件加载数据,日期始终以mm / dd / yy格式显示在平面文件中。

1 个答案:

答案 0 :(得分:1)

如果需要,如何进行转换然后减去一个世纪?

select (case when convert(date, dob, ??) > getdate()
             then dateadd(year, -100, convert(date, dob, ??))
             else convert(date, dob, ??)
        end)

如果您没有任何百岁老人,您甚至可以将其添加为数据中的计算列。