如何在2016年ssis包中捕获当前时间戳
我声明了一个变量并使用了表达式但缺少毫秒
@currenttimestamp = (DT_WSTR,50)(DT_DBTIMESTAMP)@[System::StartTime]
我也想要毫秒
由于
答案 0 :(得分:0)
转换为(DT_DBTIMESTAMP2,3)
时问题已解决:
(DT_WSTR,50)(DT_DBTIMESTAMP2,3)GETDATE()
但是时间得到改变,因为它使用getdate()asit返回当前时间,我需要包开始时间我使用了以下
(DT_WSTR,50)(DT_DBTIMESTAMP2,3)@[System::StartTime]
但是毫秒来自.000
我是否必须在ExecuteSQLTask中使用getdate()并将该值赋给字符串变量。我是ssis的新手,请给出建议。
答案 1 :(得分:0)
在程序包开头的执行SQL任务中使用以下命令,它将为您提供程序包的准确开始时间。
@RunWith(PowerMockRunner.class)
@PrepareForTest(MyFilter.class)
public class MyTest {
private MyFilter filter;
@Before
public void setup() {
//The most convenient way to get a UUID, have also tried creating one manually
UUID uuid = UUID.randomUUID();
mockStatic(UUID.class);
PowerMockito.when(UUID.randomUUID()).thenReturn(uuid);
filter = new MyFilter();
}
@Test
public void testMyUUID() {
//This test works
assertEquals(UUID.randomUUID(), UUID.randomUUID());
}
@Test
public void testFilterUUID() {
//This test fails
assertEquals(UUID.randomUUID(), filter.getUUID());
}
}