create table 履历表([id] int,photo image,type nvarchar(20),[name] varchar(20))
insert 履历表 values(1,0x,N'照片',N'万XX')image列用0x初始化。二进制数据使用 binary、varbinary 和 image 数据类型存储。指派为 binary 数据类型的列在每行中都是固定的长度(最多为 8 KB)。指派为 varbinary 数据类型的列,各项所包含的十六进制数字的个数可以不同(最多为 8 KB)。image 数据列可以用来存储超过 8 KB 的可变长度的二进制数据,如 Microsoft Word 文档、Microsoft Excel 电子表格、包含位图的图像、图形交换格式 (GIF) 文件和联合图像专家组 (JPEG) 文件。除非数据长度超过 8KB 时用 image 数据类型存储,一般宜用 varbinary 类型来存储二进制数据。建议列宽的定义不超过所存储的二进制数据可能的最大长度。

解决方案 »

  1.   

    --这样查询,就可以将没有照片的人查出来了:select 编号 
    from 你的表
    where 照片字段 is null or datalength(照片字段)=0
      

  2.   

    --下面是例子:--测试数据
    declare @t table(编号 int,照片 image)
    insert into @t
    select 1,0x --已经用0x初始化
    union all select 2,null --未初始化
    union all select 2,0x029834238 --已经有照片数据--查询无照片的编号
    select 编号 from @t where 照片 is null or datalength(照片)=0/*--测试结果
    编号          
    ----------- 
    1
    2(所影响的行数为 2 行)
    --*/
      

  3.   

    感谢zhaoloudy(学到那年才到头?) ,感谢zjcxc(邹建) 大哥,到处都能看到你们帮助人的身影,再次感谢,问题解决了,给分先。
      

  4.   

    select 编号 
    from 你的表
    where 照片字段 is null or datalength(照片字段)=0