【发布时间】:2018-09-28 13:07:02
【问题描述】:
我的 SSIS 数据流有问题。我正在从 SalesForce Marketing Cloud 中提取数据。在其中一个数据扩展中,有一个日期字段(美国格式)。 问题是在提取数据时,转换是错误的。有时它会颠倒月份和日期,有时则不会。
有谁知道为什么会错误地转换数据?我应该怎么做才能纠正它?
PS:当我执行 CONVERT(DATETIME, [CreatedDate], 101) 时,它可以工作,但如果有办法直接在 SSIS 中执行,那就太好了
谢谢。
【问题讨论】:
-
该列的数据类型是什么?数据库不以任何格式存储日期,它们存储为数值。它们在屏幕上显示的格式仅取决于客户端和操作系统的文化
-
在 Source 中,数据类型是 Datetime (US),在 Destination 中,它也是 Datetime (EU)
-
没有 datetime (US) 或 datetime (EU) 在 sql server 中只有 Datetime(以及 datetime2 和 date offcourse)。您看到的不是它在您的数据库中的样子,而是您的客户端和/或显示它的操作系统
-
我的意思是日期以美国格式存储在源数据库中(MM/DD/YYYY HH:MM:SS AM/PM 而不是 YYYY-MM-DD HH:MM:SS (标准 Sql Server))
-
不,他们不是。数据库不使用任何格式来存储日期值。它们以数值形式存储,没有任何格式。您在屏幕上看到的格式是由软件完成的,而不是数据库
标签: sql sql-server ssis salesforce-marketing-cloud