将Teradata时间戳(6)转换为SQL Server的日期时间

Esp*_*oce 5 sql sql-server ssis teradata

我正在从SSIS导出数据,并且在我的项目之一中出现截断错误:

[TH27 [91]]错误:“发生了截断错误。列名是'mydate'。”

在输入(Teradata)中,我有一列类型timestamp(6),在SQL Server的输出中,我有一列类型datetime

如何以使用SSIS时不会出现此类错误的方式进行转换?

我的尝试(请求1):

SELECT 
    column1,
    CAST(CAST(CAST(mydate AS DATE FORMAT 'YYYY-MM-DD') AS CHAR(10)) || ' ' 
             || TRIM(EXTRACT(HOUR FROM (mydate))) || ':'
             || TRIM(EXTRACT(MINUTE FROM (mydate))) || ':'
             || TRIM(CAST(EXTRACT(SECOND FROM (mydate)) AS INTEGER)) AS Date) AS mydate,
    column2
FROM table1
Run Code Online (Sandbox Code Playgroud)

更新:

我写的请求在Teradata源中,这是我的SSIS模式的示例

我的SSIS模式

dno*_*eth 2

可能是因为 SQL Server 不支持 6 位小数位,因此在 Teradata 上将其转换为具有 3 位小数位的字符串:

To_Char(myDate,'yyyy-mm-dd hh:mi:ss.ff3')
Run Code Online (Sandbox Code Playgroud)