首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从序列号生成日期

从序列号生成日期
EN

Stack Overflow用户
提问于 2013-11-19 22:15:29
回答 2查看 849关注 0票数 2

我有一个客户,它提供日期给我们作为序列号。他们给了我们一个将序列号转换为最新的Excel公式,但我们使用的是SQL Server2008 R2。我想知道是否有人可以告诉我如何在SQL Server中将这些数字转换为日期字段。

Excel公式:

代码语言:javascript
运行
复制
=DATE(1900+INT(F2/1000),1,MOD(F2,1000))

Excel表:

代码语言:javascript
运行
复制
Serial # (F2 cell)  | Date Value
---------------------------------
103078              | 3/19/2003
104077              | 3/17/2004

我需要在T-SQL中的一个语句,它将接受数字并计算到正确的日期结果。

EN

回答 2

Stack Overflow用户

发布于 2013-11-19 22:28:24

代码语言:javascript
运行
复制
SELECT DATEADD(DAY, (@F2%1000)-1, LEFT(1900+(@F2/1000),4)+'0101')

从两个示例序列号中生成正确的日期。显然,将@F2替换为您从中获取F2值的任何内容。

Working on SQLFiddle (虽然我不确定如何让变量在那里工作,所以序列号是硬编码的)

票数 2
EN

Stack Overflow用户

发布于 2013-11-19 22:34:31

试试这个:

代码语言:javascript
运行
复制
select dateadd(day, @f2 % 1000 - 1, dateadd(year, @f2 / 1000, '1900-1-1'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20073878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档