我们有一个供应商,数据库中的一个字段是一个数字,并且在应用程序界面中以某种方式显示日期,
我试图弄清楚这种转换如何
这是数据:
这个数字 15862 生成这个日期 06/05/2013
我不知道如何,供应商告诉我们这不是自定义逻辑转换,它使用的是 tsql 函数,尽管我不知道是哪一个。
我尝试使用“转换”但没有成功。
我们有一个供应商,数据库中的一个字段是一个数字,并且在应用程序界面中以某种方式显示日期,
我试图弄清楚这种转换如何
这是数据:
这个数字 15862 生成这个日期 06/05/2013
我不知道如何,供应商告诉我们这不是自定义逻辑转换,它使用的是 tsql 函数,尽管我不知道是哪一个。
我尝试使用“转换”但没有成功。
我认为这不是来自 tsql 函数,因为它是使用 UNIX 时间纪元派生的。基本上是自 1969-12-31 以来的天数
但是你可以像这样使用 tsql 得到它:
select datediff(d,'1969-12-31','2013-06-05')
看起来它使用的是 1970 年 1 月 1 日(实际上是 1969 年 12 月 31 日)的基准日期,该数字表示之后的天数。
很可能这被保存为自 1979 年 1 月 1 日以来的天数中的偏移量:
date('m/d/Y', 15862*3600*24) 给出 06/06/2013 和
date('m/d/Y', 15862*3600*24-(3600*24) 正好给出 06/05/2013