Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Excel文件中要加载到SQL Server的日期格式_Sql Server_Excel_Ssis - Fatal编程技术网

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和转换函数。将它们结合在一起,您应该能够实现所需的功能。

我会尝试这种方法,然后返回。