sql-server - 使用 SSIS 和 T-SQL 将日期转换为 dd.mm.yyyy
问题描述
当我使用 T-SQL 将日期时间转换为dd.mm.yyyy以使用 SSIS 输出 csv 时,该文件是使用 dd-mm-yyyy hh:mm:ss生成的,这不是我需要的。
我在用:
convert(varchar,dbo.[RE-TENANCY].[TNCY-START],104)
这在 SSMS 中似乎是正确的。
处理要从 SSIS 输出的转换的最佳方法是什么?并不像我想象的那么简单。
解决方案
这个对我有用。
使用您的查询作为驱动程序包的框架
SELECT
CONVERT(char(10),CURRENT_TIMESTAMP,104) AS DayMonthYearDate
我为我们的 dd.mm.yyyy 值明确声明了一个长度,因为它总是 10 个字符,所以让我们使用反映这一点的数据类型。
运行查询,可以看到正确生成 13.02.2019
在 SSIS 中,我向数据流中添加了一个 OLE DB 源并粘贴到我的查询中
我连接了一个平面文件目标并运行了包。正如预期的那样,查询生成的字符串进入数据流并按预期降落在输出文件中。
如果您遇到其他情况,我首先要检查的是双击源和下一个组件之间的线,然后选择元数据。查看租赁开始列的报告内容。如果它不指示 dt_str/dt_wstr 则 SSIS 认为数据类型是日期变体,并将特定于区域设置的规则应用于格式。您可能还需要检查该列在平面文件连接管理器中的定义方式。
推荐阅读
- c++ - 如何使用一个 std::thread 对象来运行 2 个顺序事件(函数)?
- regex - 正则表达式匹配表达式以获取两个分隔符之间的单词(有或没有值)
- c# - 调用 UserDeletingRow 事件并回答“否”后,行从网格视图中消失,如果我想删除它
- php - 在 JSON 响应 PHP 中列出值
- youtube-api - 如何向 YouTube API CommentThreads:list 查询的 searchTerms 参数添加多个值?
- ios - 当我无法使用本地存储时,我必须如何处理 apollo-client 的解析器?
- r - 从特定字符串中提取不同的指定单词
- javascript - 可能有一排 Div,每个具有不同的左起始位置和宽度,填充到相邻的兄弟姐妹?
- sql-server - 如何在给定时间范围内每 15 分钟查找用户
- angular - Angular i18n 依赖问题