Sql 向SSIS中的行添加时间
我正在尝试在SQL Server中添加重复行的值。我想了解一下如何在SSIS中实现这一点。这就是数据的外观Sql 向SSIS中的行添加时间,sql,sql-server,ssis,Sql,Sql Server,Ssis,我正在尝试在SQL Server中添加重复行的值。我想了解一下如何在SSIS中实现这一点。这就是数据的外观 SESSION ID |TALK TIME|TSEC|TMIN | ------------+---------+----+-----+ 34000018959 |00:34.0 |34 |0.56 | 34000018959 |20:29.0 |1229|20.48| 这是我希望看到的输出: SESSION ID |TALK TIME|TSEC|TMIN | --
SESSION ID |TALK TIME|TSEC|TMIN |
------------+---------+----+-----+
34000018959 |00:34.0 |34 |0.56 |
34000018959 |20:29.0 |1229|20.48|
这是我希望看到的输出:
SESSION ID |TALK TIME|TSEC|TMIN |
------------+---------+----+-----+
34000018959 |21:03.0 |1263|21.05|
是否有一种方法可以在SSIS中实现这一点?正如上面提到的Sujatha,在包中创建一个执行SQL任务并运行以下代码:
select session_id, CONVERT(CHAR(8),DATEADD(second,sum(tsec),0),108) [Talk Time], sum(tsec)TSEC, sum(tmin)TMIN
from yourtable
group by session_id
正如上面提到的Sujatha,在包中创建一个执行SQL任务,并运行以下代码:
select session_id, CONVERT(CHAR(8),DATEADD(second,sum(tsec),0),108) [Talk Time], sum(tsec)TSEC, sum(tmin)TMIN
from yourtable
group by session_id
什么数据类型是通话时间?为什么在SSIS中?数据是在表中还是在文件中?如果可能,如果在SQL Server之类的数据库上,请直接在源中使用GROUP BY(比SSIS快得多)。在任何情况下,SSIS中都有Group By操作。猜测
通话时间
是一种varchar
,as00:34.0
不是time
数据类型的有效值。如果您的要求是在SSIS中执行,请使用group by编写查询,然后将其放置在Execute SQL任务中。什么数据类型是TALK time
?为什么在SSIS中?数据是在表中还是在文件中?如果可能,如果在SQL Server之类的数据库上,请直接在源中使用GROUP BY(比SSIS快得多)。在任何情况下,SSIS中都有Group By操作。猜测通话时间是varchar
,因为00:34.0
不是TIME
数据类型的有效值。如果您的要求是在SSIS中执行,请使用Group By编写查询,然后将其放入执行SQL任务。还有其他方法吗。除了使用Execute SQL Task?@AbdulquadirShaikh之外,您还可以使用脚本组件来执行此操作,但我认为最好使用Execute SQL Task还有其他方法吗。除了使用Execute SQL Task?@AbdulquadirShaikh之外,您还可以使用脚本组件来执行此任务,但我认为最好使用Execute SQL Task