使用values关键字将图像二进制数据插入表中

时间:2017-01-05 01:05:33

标签: sql sql-server sql-insert

create table Item(
    ID int identity(1000,1) not null,
    txt varchar(150),
    img varbinary(max),
    constraint pk_Item primary key (ID)
)

我可以使用以下查询将图像插入此表:

insert into Item(ID,txt,img) 
select 100,'test', BulkColumn from openrowset(bulk N'D:\test.jpeg', single_blob) as image

如何使用values关键字实现相同的目的:

insert into Item(ID,txt,img) values (100,'test',[????]) 

2 个答案:

答案 0 :(得分:2)

当您已经有替代品时,不确定为什么要插入值关键字。试试这个

insert into Item(ID,txt,img) 
values (100,'test',(select BulkColumn from openrowset(bulk N'D:\test.jpeg', single_blob) cs)) 

答案 1 :(得分:0)

二进制值具有0x {十六进制字节序列}前缀。

insert into Item(ID,txt,img) 
values (100,'test',0x0123456789ABCDEF) 

查询已经具有二进制值的字段以查看它的外观可能会有所帮助:

select img from Item