1

我必须将数据从 Excel 文件导入到 SSIS,但我在日期列中遇到问题,在 Excel 表日期格式中yyyy/mm/dd,当它上传到数据库中时,它会更改为yyyy/dd/mmm格式。

如何解决这个问题?

4

3 回答 3

1

导入日期时在派生列中使用 SUBSTRING 函数,

(LEN(TRIM(SUBSTRING(ReceivedDateTime,1,8))) > 0 ? (DT_DBDATE)(SUBSTRING(ReceivedDateTime,1,4) + "-" + SUBSTRING(ReceivedDateTime,5,2) + "-" + SUBSTRING(ReceivedDateTime,7,2)) : (DT_DBDATE)NULL(DT_WSTR,5))

如果数据在那里,则使用 Substring 函数提取在数据库中设置的确切日期,或者如果日期不存在,则在数据库中插入 NULL。

于 2012-05-18T11:36:40.817 回答
0

我看到两个选项:

  1. 数据转换转换为适当格式的文本字符串。使用 SSIS 数据类型。
  2. 添加转换数据类型的脚本任务。使用 VB 数据类型
于 2012-05-18T12:17:49.737 回答
0

首先使用以下命令在您的数据库中创建表

   CREATE TABLE [dbo].[Manual] (
   [Name] nvarchar(255),
   [Location] nvarchar(255),
   [Date] datetime
   )
   SET DATEFORMAT YDM

通过使用DATEFORMAT YDM,日期将以 YYYY/DD/MM 格式导入。在运行包之前修改包并在列映射时选中复选框“删除目标表中的行”。

然后执行包。它会起作用的。

于 2012-05-21T07:34:53.187 回答