首页 > 解决方案 > SQL 将专有数字日期转换为 mmddyy

问题描述

我在 SQL Server 表中有一个 5 位数字的日期列,我相信它是基于自 1980 年 1 月 1 日以来的天数。我正在尝试将其转换为mm/dd/yyyy日期。我也使用 Crystal Reports 和 CR 使用它来转换它。

Date ({yes01ph.drawer_dt} + 29221)

这里有一些转换供参考。

13920  =  02/10/2018
13921  =  02/11/2018
13922  =  02/12/2018
etc...

感谢您提供任何帮助。

标签: sql-server

解决方案


用于DATEADD()将数字添加到日期1980-01-01,然后将其转换为所需的格式,dd/mm/yyyy.

询问

declare @t as table(
  [num] int
);

insert into @t([num])
select 13920 union all
select 13921 union all
select 13922 union all
select 13923 union all
select 13924;

declare @base as date = '1980-01-01';

select convert(varchar(10), dateadd(day, [num], @base), 101) as [date]
from @t;

Find a demo here


推荐阅读