【发布时间】:2019-02-13 14:48:27
【问题描述】:
当我使用 T-SQL 将日期时间转换为使用 SSIS 的 csv 输出的 dd.mm.yyyy 时,该文件是使用 dd-mm-yyyy hh:mm 生成的:ss 这不是我需要的。
我正在使用:
convert(varchar,dbo.[RE-TENANCY].[TNCY-START],104)
在 SSMS 中显示正确。
处理要从 SSIS 输出的转换的最佳方法是什么? 没有我想象的那么简单。
【问题讨论】:
-
为我们提供重现问题所需的步骤。我不知道您实际上在做什么才能获得您所说的结果。
-
问题不清楚。那价值从何而来?如果它来自 SQL 查询,为什么不在查询本身中使用该转换呢?在任何情况下,您都希望将日期时间转换 为字符串。这意味着您需要添加转换。你在那里用了什么公式?您是否存储了 original 值,而不是格式化的值?
-
最后,设置平面文件连接管理器的 locale 可能比尝试即时转换日期和小数更好。
-
旁白:来自
VarChar(n):“当数据定义或变量声明语句中没有指定n时,默认长度为1。当n i> 使用 CAST 和 CONVERT 函数时未指定,默认长度为 30。”最佳做法是始终指定长度。 -
只要指定长度=10:
convert(varchar(10),dbo.[RE-TENANCY].[TNCY-START],104)
标签: sql-server tsql date ssis