首页 > 代码库 > sql image数据类型更换VARBINARY(MAX)

sql image数据类型更换VARBINARY(MAX)

由于客户之前的数据库是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 image数据类型更换VARBINARY(MAX)