0

我正在将数据从 CRM 中提取到报告系统中。不幸的是,CRM 的开发人员认为将 a 存储date为 是一个好主意string,然后不在现场进行验证。

我正在尝试这样做MAX(Convert(datetime,Action.DateOfAction, 102));但是,由于存在一些无效数据,我收到了超出范围的错误。

我该如何解决这个问题?我不能只是修复数据,因为很明显我们仍然会偶尔收到一些用户输入的无效数据,而且我无法修复应用程序,因为我没有源。

谢谢

伊恩

4

2 回答 2

2

您需要确定如何处理不良数据,但看起来您想要IF ISDATE

IF ISDATE(Action.DateOfAction) //do whatever
ELSE //Handle Bad data
于 2013-11-29T18:45:08.313 回答
0

这取决于您的要求,但也有其他选择。艾伦给了一个很好的,另一个可以使用try catch。

通过一般方式,我可以创建一个视图或计算列,并使用 isdate 给我日期,如果无法“解析”,则返回 null。

警告,设置日期格式/语言/本地化会改变日期评估。

于 2013-11-29T19:23:05.977 回答