无法找到导致转换错误的行

Mar*_*wan 2 sql-server type-conversion primary-key

我有下表:

CREATE TABLE [dbo].[Accounts1](
    [AccountId] [nvarchar](50) NULL,
    [ExpiryDate] [nvarchar](50) NULL
)
Run Code Online (Sandbox Code Playgroud)

我想使用此查询将nvarchar转换为datetime:

select convert(datetime, expirydate) from accounts
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Conversion failed when converting datetime from character string.
Run Code Online (Sandbox Code Playgroud)

状态栏显示"2390行".我转到第2390,2391和2392行.那里的数据没有任何问题.我甚至尝试转换那些特定的行,它的工作原理.如何找出导致转换错误的行?

Pau*_* pk 6

尝试:

SELECT * FROM [dbo].[Accounts1] WHERE ISDATE(ExpiryDate) = 0
Run Code Online (Sandbox Code Playgroud)

这是我的测试代码:

CREATE TABLE #t( 
    [ExpiryDate] [nvarchar](50) NULL 
) 

insert into #t (ExpiryDate)
select '1/1/2010'

insert into #t (ExpiryDate)
select 'foo'

insert into #t (ExpiryDate)
select '2/1/2010'

select * from #t where ISDATE(ExpiryDate) = 0
-- returns 1 row

drop table #t
Run Code Online (Sandbox Code Playgroud)