Tsql T-SQL将BigInt转换为日期

Tsql T-SQL将BigInt转换为日期,tsql,type-conversion,Tsql,Type Conversion,我过去是这样工作的: 选择cast(cast(20171002作为varchar)作为日期)作为BigInt\u转换为日期 但是,单次使用convert()函数是否可以达到同样的效果? bigint和datetime之间的转换是明确的,因此需要convert中的expression参数,因此可能我们也可以转换为date,可以从bigint转换为datetime 但是,2017年10月2日的数值为43008(自1900年1月1日起的天数) 20171002实际上是一个以数字形式存储的日期的字符串表

我过去是这样工作的:

选择cast(cast(20171002作为varchar)作为日期)作为BigInt\u转换为日期

但是,单次使用
convert()
函数是否可以达到同样的效果?
bigint
datetime
之间的转换是明确的,因此需要
convert
中的
expression
参数,因此可能我们也可以转换为
date

,可以从bigint转换为datetime

但是,2017年10月2日的数值为43008(自1900年1月1日起的天数)

20171002实际上是一个以数字形式存储的日期的字符串表示形式,因此需要双重转换


不-我认为不可能执行任何简单的算法来获得从20171002到43008的数据:-)

与问题无关,但仍然值得一读-您是否了解为什么日期在SQL Server 2012数据库中存储为大整数?它提高了性能吗?我真的不敢对这种情况下的设计决策进行猜测。我看不出以这种方式存储日期在SQL Server级别有任何好处。也许这与应用程序级别的决策有关。对不起,我没有具体的东西给你。