目标:在sql server 2005数据库上筛选出那些有照片的员工
由于客户之前的数据库是sql server 2000,定义的photo字段的数据类型为image,
在sql 2005数据库上,用 select * from ephoto where photo is not null 时出现一直在查询的情况,
也就是说,我无法筛选出那些有照片的员工的信息!
查询资料才发现,sql 2005之后用 VARBINARY(MAX) 数据类型来替代 image 数据类型,
那么我猜sql 2005对image 字段的查询是有问题的,于是在该表中新建一个字段 photo_1 ,数据类型用 VARBINARY(MAX),
然后 把该表中 photo字段中的数据更新到photo_1字段中,然后再执行 select * from ephoto where photo_1 is not null 这样就能筛选出那些有照片的员工的信息。
但发现个别记录的photo_1 存着0x,故最好用如下语句来筛选:select badge from ephoto where datalength(photo_1)>0
之后,用sql server 2008登陆进去直接用select * from ephoto where photo is not null 语句也能查询出来了。