Sql server Excel文件中要加载到SQL Server的日期格式
我们的业务将为我们提供Sql server Excel文件中要加载到SQL Server的日期格式,sql-server,excel,ssis,Sql Server,Excel,Ssis,我们的业务将为我们提供.csv文件。文件中的一列将是日期格式。现在我们知道Excel中有很多日期格式。问题是我们需要检查提供的日期是否正确。它可以是ddmmyyyy、yyyymmdd、dd-mon-yyyy等任何格式,基本上可以是Excel支持的任何格式 我们计划首先在暂存区加载数据,日期字段将定义为varchar,以便它可以接受任何数据 现在,无论是使用SSIS还是通过T-SQL,我都需要检查提供的日期是否实际是日期,如果是,我需要以YYYYMMDD格式将其加载到另一个表中 如何执行上述操作?
.csv
文件。文件中的一列将是日期格式。现在我们知道Excel中有很多日期格式。问题是我们需要检查提供的日期是否正确。它可以是ddmmyyyy、yyyymmdd、dd-mon-yyyy等任何格式,基本上可以是Excel支持的任何格式
我们计划首先在暂存区加载数据,日期字段将定义为varchar
,以便它可以接受任何数据
现在,无论是使用SSIS还是通过T-SQL,我都需要检查提供的日期是否实际是日期,如果是,我需要以YYYYMMDD格式将其加载到另一个表中
如何执行上述操作?考虑到您已经将excel数据作为varchar加载到SQL Server表中(您可以使用SSIS轻松地执行此操作),类似这样的操作将有效:
SELECT
case when ISDATE(YOUR_DATE) = 1 then CONVERT(int,YOUR_DATE,112) else null end as MyDate
FROM
YOUR_TABLE
我目前没有访问SQL Server实例的权限,也无法测试上面的代码,因此您可能需要适应您的需要,但这是一般的想法。
您还可以进一步研究SQL Server中的ISDATE和转换函数。将它们结合在一起,您应该能够实现所需的功能。我会尝试这种方法,然后返回。