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模式的示例
可能是因为 SQL Server 不支持 6 位小数位,因此在 Teradata 上将其转换为具有 3 位小数位的字符串:
To_Char(myDate,'yyyy-mm-dd hh:mi:ss.ff3')
Run Code Online (Sandbox Code Playgroud)