日期格式问题SQL Server 2012

时间:2016-06-24 18:39:35

标签: sql sql-server-2012

我有一个将DAT文件导入某些SQL Server表的应用程序。

DAT文件有时包含不正确的日期格式。

示例:

OCLMEditorModel

SQL Server中的DateCreated = 000100893 列是DateCreated类型。

由于格式错误导致数据导入时应用程序失败,我必须手动清空这些值,以便重新导入。

SQL中是否有一种限制日期时间列的方法?例如,如果数据格式不正确,则会自动使列无效?我无法更改该列的datetime数据类型,因为大多数情况下日期都是正确的,我正在使用此列进行其他计算。

2 个答案:

答案 0 :(得分:2)

您正在寻找TRY_PARSE功能:

SELECT TRY_PARSE(DateCreated AS datetime)

如果null无法投放到DateCreated

,则返回datetime

答案 1 :(得分:0)

根据the following code,你可以这样做:

 SELECT TRY_CONVERT(datetime2, '000100893') AS Result;