上个月的最后一天在ssis中的日期表达

时间:2017-06-04 18:54:33

标签: sql-server ssis etl

我必须创建一个派生列来上传OLEDB目标中的日期,因为我的源文件不包含此日期。我想通过派生列获取的日期是上个月的最后一天。有谁知道如何获得它?

2 个答案:

答案 0 :(得分:1)

尝试使用以下表达式,只需使用DATEADD函数从当前日期中减去当前日期。

DATEADD("d", -DAY(GETDATE()), GETDATE())

如果您想要删除时间,您有两种选择:

  1. 转换为字符串

    LEFT((DT_STR,50,1252)DATEADD("d", -DAY(GETDATE()),GETDATE()),10)
    
  2. 转换为字符串,然后转换为日期(它将生成时间12:00 AM)

    (DT_DATE)LEFT((DT_STR,50,1252)DATEADD("d", -DAY(GETDATE()),GETDATE()),10)
    

答案 1 :(得分:0)

如果你不需要时间,最简单的方法是:

(DT_DBDATE)(DATEADD("d",-DAY(GETDATE()),GETDATE()))