使用 SSIS 在 DB2 表中设置时间戳列
Posted
技术标签:
【中文标题】使用 SSIS 在 DB2 表中设置时间戳列【英文标题】:Set timestamp column in DB2 table using SSIS 【发布时间】:2018-12-19 06:49:09 【问题描述】:我正在尝试在表达式生成器中创建一个更新命令表达式来更新时间戳字段。
@[User::FinalSQLPolicy] = "UPDATE ZDBA.ACE_POLICY_XREF SET APX_ACE_POLICY_NBR= '"+ @[User::CNTRCTID] +"',APX_LAST_MAINT_TMSP=' GETDATE() ' where APX_PRS_POLICY_NBR='"+ @[User::APXPRSPOLICYNBR] +"'"
APX_LAST_MAINT_TMSP 是我要存储当前时间戳的字段。
我收到如下错误
无法计算表达式。
尝试解析表达式“”UPDATE ZDBA.ACE_POLICY_XREF SET APX_ACE_POLICY_NBR= '"+ @[用户::CNTRCTID] +"',APX_LAST_MAINT_TMSP='" GETDATE()" ' 其中 APX_PRS_POLICY_NBR='"+ @[User::APXPRSPOLICYNBR] +"'"" 失败。表达式可能包含无效标记、不完整标记或无效元素。它可能格式不正确, 或者可能缺少必需元素的一部分,例如括号。
谁能帮我纠正上面的表达方式?
【问题讨论】:
GetDate()
是一个有效的 DB2 函数吗?
【参考方案1】:
使用CURRENT_TIMESTAMP
函数,它等效于GETDATE()
的datetime 日期类型。 DB2 还具有 CURRENT_DATE
和 CURRENT_TIME
函数,它们分别返回当前日期 (YYYYMMDD) 和时间 (HHMMSS)。有关这些内容的更多详细信息,请参阅文档here。
【讨论】:
以上是关于使用 SSIS 在 DB2 表中设置时间戳列的主要内容,如果未能解决你的问题,请参考以下文章
导出带有时间戳列 SQL 错误“-180”的 DB2 表过滤器