我在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格式显示在平面文件中。
答案 0 :(得分:1)
如果需要,如何进行转换然后减去一个世纪?
select (case when convert(date, dob, ??) > getdate()
then dateadd(year, -100, convert(date, dob, ??))
else convert(date, dob, ??)
end)
如果您没有任何百岁老人,您甚至可以将其添加为数据中的计算列。