CAST vs ssis数据流隐式转换差异

CAST vs ssis数据流隐式转换差异,第1张

CAST vs ssis数据流隐式转换差异 关于日期序列

存储在Oracle(

42824
)中的值称为日期序列,它也用于中
Microsoft Excel

日期序列表示日期值和初始值之间的天数,即

1899-12-30

CAST方法

从Microsoft Docs-CAST和CONVERT(Transact-SQL):

仅当从字符数据转换为datetime或smalldatetime时才受支持。将仅表示日期或仅时间部分的字符数据转换为datetime或smalldatetime数据类型时,未指定的时间部分设置为00:00:00.000,未指定的日期部分设置为1900-01-01

因此,

CAST
函数
1900-01-01
在转换日期时会将值视为初始值。因此,在使用它转换日期序列时,我们需要减去2天

有两种使用SQL Server将其转换为日期的方法:

select DATEADD(d,42824,'1899-12-30')select CAST(36464 - 2 as SmallDateTime)
SSIS隐式转换

同样根据此Microsoft文档文章

DBTYPE_DATE(这是自动化的DATE类型。在内部被表示为双精度型。整体部分是自1899年12月30日以来的天数,小数部分是一天的一部分。这种类型的精度为1秒,因此有效标度为0。)

因此,SSIS中的隐式转换在

1899-12-30
转换日期时将值视为初始值。因此,使用它转换日期序列时无需减去2天



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5640510.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存