Sql SSIS-将4位字符串转换为时间值

Sql SSIS-将4位字符串转换为时间值,sql,ssis,expression,data-warehouse,Sql,Ssis,Expression,Data Warehouse,我正在尝试复制以下T-SQL语句,它对表达式执行我想要的操作: TIMEVAL是一个4位整数,表示hh:mm DATEADD(hour,(TIMEVAL/ 100) % 100, DATEADD(minute,(TIMEVAL/1) % 100, CAST('00:00' as time(2)))) as TimeOpened 任何帮助都将不胜感激 declare @t as int = 1250; SELECT TimeOpened = Right ('0' + Convert

我正在尝试复制以下T-SQL语句,它对表达式执行我想要的操作:

TIMEVAL是一个4位整数,表示hh:mm

DATEADD(hour,(TIMEVAL/ 100) % 100, 
DATEADD(minute,(TIMEVAL/1) % 100, CAST('00:00' as time(2)))) as TimeOpened
任何帮助都将不胜感激

declare @t as int = 1250;
SELECT TimeOpened = 
    Right ('0' + Convert (varchar, @t/100), 2) 
    + ':' 
    + Right ('0' + Convert (varchar, @t - ( @t/100) * 100), 2)
在表达上: 左((德图街,41250)(T),2)+“:”+右((德图街,41250)(T),2)

注:如果T(整数中的时间)只有3位,则会给出错误的结果。但是你的问题说时间是4位整数。

派生列代码:

(DT_DBTIME)(SUBSTRING((DT_WSTR,4)(time),1,2) + ":" 
+ SUBSTRING((DT_WSTR,4)(time),3,4))
范例 资料 一,

2.派生列

3.视图


为什么不将此脚本作为执行SQL任务放在SSIS流程中?