2013-09-21 52 views
0

由供应商维护的收缩包装产品数据库包含一个人员表,其中一些人员在另一个子表中有图片。我需要在SQL语句中确定谁有图片,谁不会,并提出一个标志。将MS SQL图像列值转换为位或int 0/1

什么是选择语句将图像列转换为0或1,取决于行中是否有图像值如下?

数据:

photo 
------------ 
null 
@[email protected]#$#@$#@$#&^$%^%53452^#$%#5... 

结果:

photoFlag 
----------- 
0 
1 

当然,它可以在代码中的客户端上完成,但我不希望把整个网络的图像值和进入客户端地址空间。

我想不出更好的东西比

SELECT CONVERT(CHAR(1), CONVERT(VARBINARY(MAX),photo)) AS photoFlag FROM photos 

,然后调用.IsNull在客户端上。但我没有把它连接起来,因为它不够优雅。

回答

2

怎么样使用CASE()

SELECT CASE WHEN photo IS NULL THEN 0 ELSE 1 END AS photoFlag FROM photos 
+0

忘了案件。谢谢! – ajeh