Ⅰ 怎樣在sqlserver2008中用sql語句操作二進制數據
sqlserver之二進制和字元串sql語句
正常情況下我們對資料庫的操作就是如下的寫法來操作資料庫
SELECT TOP 10 ID AS 編號,BookName AS 書名 FROM dbo.books ORDER BY ID;
UPDATE dbo.books SET BookName='新的書名' WHERE ID=1233;
DELETE FROM dbo.books WHERE ID=122
但是在客戶正在使用的資料庫里,我們開發人員一般不能夠直接操作資料庫,但是會給我們做一個網頁以便方便我們核對數據,查找錯誤,但是這種情況下一般都會屏蔽一些關鍵詞,比如update delete,create,alter神馬的,一般請客下對客戶資料庫的操作都得嚴格按照公司流程來走,這種情況下效率一般都會很低,在這里還有一種情況可以直接讓我們對資料庫做更改,那就是首先將字元串以二進制的形式騙過後台程序,以便發送到資料庫中去執行,如下:
DECLARE @S NVARCHAR(4000)
SET @S=CAST( AS VARCHAR(max))
PRINT @S
EXEC(@S)
下面便是直接把sql語句轉換成二進制
DECLARE @str VARCHAR(MAX),@bary VARBINARY(MAX)
SET @str='SELECT TOP 10 ID AS 編號,BookName AS 書名 FROM dbo.books ORDER BY ID;'
--將字元串轉換成二進制對象
SET @bary= CAST(@str AS VARBINARY(MAX))
PRINT @bary
--將二進制對象轉換成字元串
SET @str=CAST(@bary AS VARCHAR(max))
--執行sql腳本
EXEC(@str)
Ⅱ 求大神指導,如何在sql語句中進行二進制運算
二進制?可是我怎麼在你的查詢結果中看到4,4是怎麼來的?
另外根據你提供的內容,我也有點疑惑。你說的「例如10,包含星期一星期二」,那麼假設每星期三是船期,那麼這個二進制怎麼表示?
個人覺得二進制的存儲辦法是一個7位數的二進制串,有船期顯示1,無船期顯示0.如果是周一到周三那麼就是0000111(也可能調過來),如果是周一和周三,那麼就可能是0000101。可是感覺資料庫不是這么存的,反正我沒看懂。
Ⅲ 如何將二進制數組存入sqlserver中,語句
--創建表
create table test(col varbinary(4000))
go
--創建存儲過程
create procere sp_savaBinary(@binary varbinary(4000))
as
insert into test values(@binary)
go
--調用存儲過程插入數據
declare @binary varbinary(4000)
set @binary = cast( '12sfasfasfasf ' as varbinary(4000))
exec sp_savaBinary @binary
Ⅳ 怎樣將二進制數據流存入MS SQL中去
FileStream類直接讀取Excel文件,將位元組流讀取出來保存到BLOB(SQLServer中是Image)欄位中。
Ⅳ 我數據中的一個表中的一個欄位類型為二進制。將二進制數據存入SQL SERVER的表中的某個欄位中,怎麼寫
insert into 表名(欄位名) values 二進數據
Ⅵ 怎樣在Oracle中,用PlSql往資料庫中插入二進制文件
插入數據分為兩種情況,一種是用insert into ...values 的語法,一種是用insert into select ...的語法。
舉例:
如test表中有如下數據:
插入一條id為6,name為楊七的數據。
1
2
insert into test values (6,'楊七');
commit;
此時表中數據為:
另,要求向表中復制一條目前表中id為1的數據,可用如下語句:
1
2
insert into test select * from test where id=1;
commit;
此時表中數據為:
注意:在執行insert語句後,必須提交,即commit,否則插入結果只在當前session有效,重新開啟另外的session會插入不成功。
Ⅶ 將二進制數據存入SQL SERVER的表中的某個欄位中,怎麼寫
.net中
把二進制數據讀入一個 byte[] 變數;
新建參數變更 SqlParameter[] ,根據表結構,構建參數列表,包括 SqlDbType.Image類型欄位。
把byte[]變更賦給參數。
再去執行。
Ⅷ 如何將二進制數據存到資料庫中SQL語句怎麼寫
得用參數化查詢,或者就把二進制資料庫序列化成字元串再拼sql字元串。
Ⅸ 如何從SQL資料庫中讀取二進制數據
讀出並生成圖片到物理位置
public void Read()
{
byte[] MyData = new byte[0];
using (SqlConnection conn = new SqlConnection(sqlconnstr))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from T_img";
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
MyData = (byte[])sdr["ImgFile"];//讀取第一個圖片的位流
int ArraySize= MyData.GetUpperBound(0);//獲得資料庫中存儲的位流數組的維度上限,用作讀取流的上限
FileStream fs = new FileStream(@"c:\00.jpg", FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(MyData, 0, ArraySize);
fs.Close(); //-- 寫入到c:\00.jpg。
conn.Close();
Console.WriteLine("讀取成功");//查看硬碟上的文件
}
}
Ⅹ 求SQL語法:把二進制字元串寫入到ACCESS OLE欄位裡面
二進制數據,不能用SQL語句寫入
只能用ADO或DAO對象寫入