我如何选择所有行,但其中一行在列之一上调用CONVERT时出错?

例如,我正在这样做:

SELECT rowid
FROM batchinfo
WHERE CONVERT(DATE, reporttime, 101) between '2010-07-01' and '2010-07-31';

我在某些价值观上遇到了错误。我有两个问题:
  • 如何跳过有错误的行?
  • 如何仅获取有错误的行?
  • 最佳答案

    您可以使用ISDATE()函数测试这些值。

    SELECT *
    FROM MyTable
    WHERE ISDATE(MyColumn) != 1
    

    关于sql - SQL Server:查找不良数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3579844/

    10-13 03:21