我必须将数据从Excel文件导入到SSIS,但我在日期列中遇到问题,excel表格日期格式为yyyy/mm/dd
,当它在数据库中上传时,它会变为yyyy/dd/mmm
格式。
如何解决这个问题?
答案 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)
我看到两个选项:
答案 2 :(得分:0)
首先使用以下命令在您的数据库中创建表
CREATE TABLE [dbo].[Manual] (
[Name] nvarchar(255),
[Location] nvarchar(255),
[Date] datetime
)
SET DATEFORMAT YDM
使用 DATEFORMAT YDM ,日期将以YYYY / DD / MM格式导入。在运行包修改包之前,在列映射时选择复选框“删除目标表中的行”
然后执行包。它会起作用。