我对SSIS中的派生列有问题。在SSMS中,我可以使用以下代码将列设置为默认值:
(dateadd(month,datediff(month,(0),getdate())-(1),(0)))
当数据输入到数据库中时,它将以以下格式提供上个月的时间戳,例如:
2010-09-01 00:00:00.000
奇怪的是,这就是我正在寻找的,并试图使用派生列DFT复制/生成类似的内容。
到目前为止,我有:
DATEADD("mm",DATEDIFF("mm",GETDATE(),GETDATE()) - 1,GETDATE())
它成功地生成了月份,但是GETDATE()不能正确地替换原始代码中的0。
在SQL中,原始代码中的0是否表示开始日期?
任何帮助都将不胜感激。
致以敬意,
李
发布于 2010-10-10 14:59:39
我认为在您的派生列中需要的是这个synatx:
DATEADD("mm",-1,(DT_DBTIMESTAMP)((DT_WSTR,4)DATEPART("YYYY",GETDATE()) + "-" + (DT_WSTR,2)DATEPART("mm",GETDATE()) + "-01"))
https://stackoverflow.com/questions/3890491
复制相似问题