TRY_CAST转换问题

时间:2016-06-08 20:55:36

标签: sql-server

我面临一个奇怪的问题。如果有人帮助我,那将是很棒的。在我使用where添加IS NULL子句之前,此查询就像一个魅力。如果我执行Is null我得到以下错误(使用IS not Null查询工作正常)。

当我执行内部查询时,我得到了具有空值的所需结果集无效记录,并且已正确转换有效记录。但是当我尝试在外部查询中过滤它时,由于记录很少,它也会失败。

怀疑:在内部查询中,所有无效记录都已转换为null我可以看到。但是,为什么它在外部查询时失败也只是因为记录很少(我通过逐个执行无效记录发现了这一点)?

问题是Try_cast吗?

select Number,content from (
    select Name, Number,
    TRY_cast( 
      TRY_CAST(
        TRY_CAST(
          (Content) AS VARBINARY (MAX)
        ) AS XML
      ) as nvarchar (max)
    ) as content 
    from Documents 
    where LTRIM(RTRIM(NAME)) in ('XYZ.xmll')
) A 
where Content is null
  

错误:警告:致命错误7102发生在2016年6月7日下午4:47。请注意错误和时间,并与系统管理员联系。

0 个答案:

没有答案