【问题标题】:SSIS SQL Task not returning string dateSSIS SQL任务不返回字符串日期
【发布时间】:2018-10-24 01:28:02
【问题描述】:

我正在尝试使用 SQL 任务从 SSIS 运行以下过程。

ALTER PROCEDURE [dbo].[sp_Previous_Load_Dt_Tm]
AS
BEGIN

SELECT Extract_Dt_Tm =  ISNULL(CONVERT(VARCHAR(20), MAX([Previous_Load_Date_Time]),120),'')
FROM [Test_table] WITH (NOLOCK)

END

我如下返回

当我在 SSIS 中将变量类型用作字符串时:

如果我将变量类型更新为日期,它会为我提供值:

问题)我不确定为什么在过程中将日期转换为 varchar 时它会返回日期。

【问题讨论】:

  • 我使用的是 SSIS 版本 14
  • 您确定该值没有存储在变量中吗?你试过调试和观察你的局部变量吗?
  • 是的,我一直将它们发送到日志表!!!

标签: sql-server ssis


【解决方案1】:

这是在运行时发生的吗?

如果您在设计时将变量类型更改为datetime,并在执行期间将存储过程返回的字符串写入其中,这很可能是由于 SSIS 执行了隐式转换,即成功解析了 @ 987654322@ 字符串中的值。

我想您发布的图像是在设计时,字符串尚未写入,datetime 已默认为当前日期和时间?

【讨论】:

  • 感谢您的帮助,克里斯!!!我一直为此发疯,所以我只是删除并重新添加了变量并开始工作。
【解决方案2】:

我刚刚删除并重新添加了变量。它奏效了!!!!不知道是什么问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多