sql插入二進制
⑴ 怎樣在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語句操作Binary數據
Sql Server的一個表中有一個欄位為binary類型當使用insert插入記錄時可以使用'0x'開頭的字元串來表示empty binary strings代表 '0x'例如:insert C(a) values(0x3439430949304) ,注意不要加引號有一店你必須記住:欄位a的長度必須小於或等於存入二進制數的長度同樣如果想在sql查詢時使用0x開頭的字元串表示binary類型的內容,可用
selectconvert(varbinary(20),a)from表名
注意:這個語句執行的前提是二進制欄位不能太大,否則由於Sql語句支持長度的限制可能會出錯。這個通常用於對於用戶密碼記小圖片的讀寫。
⑶ 怎樣在sqlserver2008中用sql語句操作二進制數據
怎樣在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