【发布时间】:2011-12-21 18:48:46
【问题描述】:
我需要确定表中的图像列是否为空。我一直在尝试使用CASE,但总是出错。
查询:
SELECT OutgoindDoc = CASE ReceivedData
WHEN null THEN 'null'
ELSE CONVERT(xml,(CONVERT(varbinary(max),ReceivedData)))
END
FROM ib_IncomingData
我得到的错误是:
消息 306,第 16 级,状态 1,第 1 行
text、ntext 和 image 数据类型不能进行比较或排序,除非使用 IS NULL 或 LIKE 运算符。
我可以使用什么来获得我需要的结果?
【问题讨论】:
-
你为什么要把它转换成
XML来看看是不是NULL? -
@TomalakGeret'kal - 那他在做什么?如果列是
NULL,那么强制转换的结果将是NULL,那么为什么将NULL 作为字符串返回? -
@Martin Smith - 如果它不为空,我会将其转换为 XML。
-
@Gisli - 为什么不直接投射而不进行测试?
-
无意冒犯,只是帮助您在这里走上正轨而不会感到沮丧。
标签: sql sql-server tsql