SQL Server:查找错误数据

l--*_*''' 3 sql sql-server

如何选择除我CONVERT在其中一列上调用错误的行之外的所有行?

例如,我这样做:

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

我收到一些价值的错误.我有两个问题:

  1. 如何跳过有错误的行?
  2. 我怎样才能得到只有有错误的行?

bob*_*obs 7

您可以使用ISDATE()函数来测试值.

SELECT *
FROM MyTable
WHERE ISDATE(MyColumn) != 1
Run Code Online (Sandbox Code Playgroud)

  • 伙计,我觉得自己很愚蠢。我已经用 SQL Server 开发了 10 年,我从来不知道有一个 IsDate() 函数。这怎么可能?+1 给你,谢谢。感谢提问者提出这个问题。 (2认同)