sql - 派生列转换中的 DT_DBDATE 日期到 YYYYMMDD

标签 sql sql-server datetime ssis etl

我想将我的转换列转换为 YYYYMMDD 格式。在 sql server 我使用这个查询

SELECT FORMAT([transdate],'yyyyMMdd')
它运行良好,但我想使用 SSIS 中的派生列执行此步骤,请帮忙。数据类型为 DT_DBDATE.我使用了以下查询,但它不起作用。
(DT_DBDATE)((YEAR(transdate) * 10000) + (MONTH(transdate) * 100) + DAY(transdate))

The reason of converting date into string format is basically i created a date table and i extracted this date from trans_date. Now i have to make dateid from that date That's why I converted it into int for further work especially for denormalization step.

最佳答案

转换时 DT_DBDATE为字符串,日期值的格式为 yyyy-MM-dd .您可以简单地删除破折号 -使用替换功能如下:

REPLACE((DT_WSTR,50)(DT_DBDATE)[ConvertedDate],"-","")
更多信息可以引用官方SSIS文档:
  • Cast (SSIS Expression)
  • 关于sql - 派生列转换中的 DT_DBDATE 日期到 YYYYMMDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66562078/

    相关文章:

    php - 升级版本后Mysql查询返回空记录

    java - 使用 Sql Server 2005 设置 Play 2.0 项目

    sql - 在 SQL Server 中使用查询在 Base64 中哈希 MD5

    sql-server - 如何对 SQL Server 中的 IN 或列表进行 LIKE

    php - 从给定日期时间获取每月的第一个星期一不会保留时间组件

    python - 在python中查找一个月的最后一个工作日

    mysql - 存储过程中的 DML 是否在单个事务中运行?

    sql - sql中如何旋转行

    SQL Server批量更新触发器执行

    datetime - 如何在 Yahoo Pipes 中获取当前日期和时间?