SSIS更改日期格式

时间:2016-10-13 15:50:43

标签: sql ssis ansi-sql

我有一个日期时间格式,显示如下:

'13 -10-2016 11:58:00'

我要求它显示为:

'2016-10-13 11:58:00'

如何更改下面的表达式以匹配此内容?

表达:

"SELECT _sessions.session_id AS session_id,   _sessions.user_id AS user_id,   _sessions.updated_at FROM public._sessions _sessions" + (@[User::IncrementalOrFullLoad] == "F" ? "" : " WHERE  

当前输出:

SELECT _sessions.session_id AS session_id,   _sessions.user_id AS user_id,   _sessions.updated_at FROM public._sessions _sessions WHERE  
_sessions.updated_at  > '13-10-2016 11:58:00'

1 个答案:

答案 0 :(得分:1)

从日期时间变量生成字符串 YYYY-MM-DD hh:mm:ss 很简单

(DT_STR, 20, 1252)(DT_DBTIMESTAMP)@[User::YourDateTimeVar]  

为避免格式歧义,必须使用第一个强制转换为 DBTIMESTAMP 的类型。没有它,SSIS .Net进程会使用进程或系统文化将datetime变量强制转换为字符串。首次投射到DBTIMESTAMP可以修复培养并产生所需的结果。