ssis中的date格式问题

我必须从Excel文件导入到SSIS的数据,但我面临的date列的问题,在Excel表格date格式是yyyy/mm/dd ,当它在数据库中上传它变成了yyyy/dd/mmm格式。

如何解决这个问题?

导入date时使用派生列中的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函数提取在数据库中设置的确切date,或者如果date不存在,则在数据库中插入NULL。

我看到两个选项:

  1. 数据转换转换将转换为适当格式的文本string。 使用SSIS数据types。
  2. 添加转换数据types的脚本任务。 使用VB数据types

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

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

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

然后执行包。 它会工作。