ssis中的日期格式问题

时间:2012-05-18 07:27:52

标签: excel ssis

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

如何解决这个问题?

3 个答案:

答案 0 :(得分: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。

答案 1 :(得分:0)

我看到两个选项:

  1. Data Conversion Transformation转换为文本字符串 适当的格式。使用SSIS数据类型。
  2. 添加转换数据类型的脚本任务。使用VB数据类型

答案 2 :(得分:0)

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

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

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

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