首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用派生列为每行创建格式为YYYY-MM-01 00:00:00.000的日期值

使用派生列为每行创建格式为YYYY-MM-01 00:00:00.000的日期值
EN

Stack Overflow用户
提问于 2010-10-08 20:34:55
回答 4查看 4K关注 0票数 2

我对SSIS中的派生列有问题。在SSMS中,我可以使用以下代码将列设置为默认值:

代码语言:javascript
运行
复制
(dateadd(month,datediff(month,(0),getdate())-(1),(0)))

当数据输入到数据库中时,它将以以下格式提供上个月的时间戳,例如:

代码语言:javascript
运行
复制
 2010-09-01 00:00:00.000

奇怪的是,这就是我正在寻找的,并试图使用派生列DFT复制/生成类似的内容。

到目前为止,我有:

代码语言:javascript
运行
复制
DATEADD("mm",DATEDIFF("mm",GETDATE(),GETDATE()) - 1,GETDATE())

它成功地生成了月份,但是GETDATE()不能正确地替换原始代码中的0。

在SQL中,原始代码中的0是否表示开始日期?

任何帮助都将不胜感激。

致以敬意,

EN

Stack Overflow用户

发布于 2010-10-10 14:59:39

我认为在您的派生列中需要的是这个synatx:

代码语言:javascript
运行
复制
DATEADD("mm",-1,(DT_DBTIMESTAMP)((DT_WSTR,4)DATEPART("YYYY",GETDATE()) + "-" + (DT_WSTR,2)DATEPART("mm",GETDATE()) + "-01")) 
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3890491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档