【问题标题】:GETDATE () - 1 on SSISGETDATE () - SSIS 上的 1
【发布时间】:2019-12-14 04:11:16
【问题描述】:

我在SSIS中创建了一个变量,但是它不接受GETDATE() -1

REPLACE( @[User::FilePath] , ".xls","" )+"_" +  (DT_WSTR,4)DATEPART("yyyy",GetDate()) + RIGHT("0" + (DT_WSTR,2)DATEPART("mm",GetDate()) ,2) + RIGHT("0" + (DT_WSTR,2)DATEPART("dd",GetDate()),2) +".xls"

我该如何解决这个问题?

谢谢。

【问题讨论】:

  • 你想在这里做什么,确定昨天的日期是什么?
  • 是的,我想确定昨天的日期。谢谢。
  • 选择演员表(dateadd(day,-1,getdate()) 作为日期)
  • 使用GETDATE() - 1 是糟糕的编程习惯。您应该使用DATEADD() 并明确定义操作。

标签: ssis


【解决方案1】:

最简单的方法是创建多个变量。您现在遇到的问题是您无法在 SSIS 表达式上设置断点来尝试调试该事物。

昨天

DATEADD

dateadd("day", -1, getdate())

测试、评估并确保其按预期工作

昨天_CCYYMMDD

这将是昨天变量 (20191212) 的文本字符串

(DT_WSTR,4) YEAR(@[User::Yesterday]) + RIGHT("0" + (DT_WSTR,2)MONTH(@[User::Yesterday])) + RIGHT("0" + (DT_WSTR,2)DAY(@[User::Yesterday]))

昨天文件名

最后,将它们链接在一起

REPLACE( @[User::FilePath], ".xls", "") + @[User::YesterdayFileName] + ".xls"

【讨论】:

    猜你喜欢
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    相关资源
    最近更新 更多