TSQL文本LOB列查询在单独执行时工作,在包含在CTE中时失败

TSQL文本LOB列查询在单独执行时工作,在包含在CTE中时失败,tsql,text,lob,Tsql,Text,Lob,我有以下查询来提取LOB字段(HL_DELETED_RECORD,包含不超过25个字符)内容,它本身工作正常: SELECT REPLACE(REPLACE( CONVERT(VARCHAR(20), HL_DELETED_RECORD), '&amp', '&'), 'ý', ' ') AS FAC_CHANGES, HL_REC_ID FROM SEC_HIST WITH(NOLOCK) 当我将此查询作为CTE的一部分时,没有错误;LOB文本数据根本不显示为: W

我有以下查询来提取LOB字段(HL_DELETED_RECORD,包含不超过25个字符)内容,它本身工作正常:

SELECT  REPLACE(REPLACE( CONVERT(VARCHAR(20), HL_DELETED_RECORD), '&amp', '&'), 'ý', ' ') AS FAC_CHANGES,
   HL_REC_ID
FROM SEC_HIST WITH(NOLOCK) 
当我将此查询作为CTE的一部分时,没有错误;LOB文本数据根本不显示为:

WITH sec_audit AS
        (
        SELECT *...
        ),

hist_logs as
      ( 
SELECT  REPLACE(REPLACE( CONVERT(VARCHAR(20), HL_DELETED_RECORD), '&amp', '&'), 'ý', ' ') AS FAC_CHANGES,
   HL_REC_ID
FROM SEC_HIST WITH(NOLOCK) 
       )

    SELECT * 
    FROM sec_audit
    INNER JOIN hist_logs  WITH(NOLOCK) ON HL_REC_ID = HL_RECORD_ID
LOB列定义为:[HL\u DELETED\u RECORD]文本空值

这是一个HLýU删除ýU记录数据样本:36371ý1025074ýLEC 换算如下:36371 1025074 LEC


还有其他人经历过吗?谢谢

没有足够的信息。。。试着建立一个新的网络。创建一个表(DDL)并插入一些用于测试的记录,并尝试重现您的问题。这是我们可以复制和粘贴到我们的机器,并帮助您确定。一些一般性意见:我建议始终使用表别名。您上次选择的内容类似于
。。。从sec_audit sa内部连接历史记录hl ON sa.hl_RECORD_ID=hl.hl_REC_ID
。还有一个问题/提示:什么数据类型是
hl_DELETED_RECORDS
?用
&
替换
&
的需要指向一些类似XML的标记。但在这种情况下,实体是错误的(应该是
&;
)。你说的不超过15个字符。。。难以置信…谢谢你的评论;让我尝试创建一个更全面的示例,并包含有关数据类型的其他信息。