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。
我看到两个选项:
- 数据转换转换将转换为适当格式的文本string。 使用SSIS数据types。
- 添加转换数据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“删除目标表中的行”。
然后执行包。 它会工作。