You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在SSIS中将DateTime类型Birthday列转换为DD.MM.YYYY格式DATE类型

解决SSIS中DateTime转DATE并格式化为DD.MM.YYYY的问题

两种场景的解决方案

场景1:转换为DATE类型(仅存储日期部分)

DATE类型本身不存储显示格式,仅保留日期核心信息,显示格式由后续客户端工具控制。在SSIS派生列中使用以下表达式即可完成类型转换:

(DT_DBDATE)[Birthday]

设置派生列的数据类型为DT_DBDATE,即可将源DateTime列转为DATE类型,仅保留年月日部分。

场景2:生成DD.MM.YYYY格式的字符串

如果需要直接输出该格式的文本(而非DATE类型),使用拼接表达式处理前导零并格式化:

RIGHT("0" + (DT_WSTR, 2)DAY([Birthday]), 2) + "." + RIGHT("0" + (DT_WSTR, 2)MONTH([Birthday]), 2) + "." + (DT_WSTR, 4)YEAR([Birthday])
  • DAY([Birthday])/MONTH([Birthday])提取日、月数值
  • (DT_WSTR, 2)将数值转为字符串,RIGHT("0" + ..., 2)确保单数字的日/月补前导零(如9转为"09")
  • 最后拼接成年份,得到标准的DD.MM.YYYY格式字符串

常见错误说明

  • 直接用(DT_STR, 10, 1252)[Birthday]会采用SSIS默认的日期字符串格式(如YYYY-MM-DD),无法得到目标格式
  • 未处理前导零会导致单数字日/月显示为一位,破坏格式统一性

内容的提问来源于stack exchange,提问作者Flash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 01:50:58