sql二進制轉換
『壹』 求大神指導,如何在sql語句中進行二進制運算
二進制?可是我怎麼在你的查詢結果中看到4,4是怎麼來的?
另外根據你提供的內容,我也有點疑惑。你說的「例如10,包含星期一星期二」,那麼假設每星期三是船期,那麼這個二進制怎麼表示?
個人覺得二進制的存儲辦法是一個7位數的二進制串,有船期顯示1,無船期顯示0.如果是周一到周三那麼就是0000111(也可能調過來),如果是周一和周三,那麼就可能是0000101。可是感覺資料庫不是這么存的,反正我沒看懂。
『貳』 怎樣在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 Server如何編寫函數實現把十進制數轉換為二進制數求大神相助!!
創建函數
createFUNCTION[dbo].[Dec2Bin](@DecINT,@StrLenINT)
RETURNSVARCHAR(31)--INT型,4位元組,正數轉為二進制字元串最多31位
AS
BEGIN
DECLARE@BinStrASVARCHAR(31)--二進製表示的字元串
DECLARE@Div2ASINT--商
DECLARE@Mod2ASINT--模/余數
IF@Dec<0
RETURN'NULL'--不支持負數的轉換
SET@Div2=@Dec/2
SET@Mod2=@Dec%2
SET@BinStr=''
WHILE@Div2<>0
BEGIN
SET@BinStr=CAST(@Mod2ASCHAR(1))+@BinStr
SET@Dec=@Dec/2
SET@Div2=@Dec/2
SET@Mod2=@Dec%2
END;
SET@BinStr=CAST(@Mod2ASCHAR(1))+@BinStr--至此,已完成十進制到二進制的轉換
IF@StrLen>LEN(@BinStr)--如果用戶指定的長度大於實際長度,則需要左邊補0
BEGIN
IF@StrLen>31--返回的長度,最長為32
SET@StrLen=31
DECLARE@ZeroStrVARCHAR(31)--需要補充的"0000..."
DECLARE@OffsetLenTINYINT--需要補充幾個"0"
SET@ZeroStr=''
SET@OffsetLen=@StrLen-LEN(@BinStr)
WHILE@OffsetLen>0
BEGIN
SET@ZeroStr=@ZeroStr+'0'
SET@OffsetLen=@OffsetLen-1
END
SET@BinStr=@ZeroStr+@BinStr
END
RETURN@BinStr
END
調用函數
select[dbo].[Dec2Bin](3,8)
其中3是要轉換的數字,8是最後二進制的長度,不足位的前補0
『肆』 SQL server 2008十進制轉二進制
第三行是給變數賦值,單引號就代表賦值為空呀~
倒數第三行和上邊的代碼都是演算法呀~如果沒看出這里應該是除2取余轉的二進制~
『伍』 SQL資料庫一欄位名被加密後,所有內容顯示的二進制的,可以轉換為中文嗎
不可以
因為這個欄位可能存儲的是文件,也有可能是加密後的字元
所以不知道怎麼轉換,只有知道這個欄位是怎麼定義的,才可以把內容讀出來
『陸』 如何把用SQL語句int型整數轉換成二進制數
您好:
提供一個函數,請查收
CreateFUNCTIONDecToBin(@DecInt)
RETURNSVARCHAR(16)
AS
begin
declare@BinStrasvarchar(20)
declare@Mod2asint
declare@Div2asint
set@Div2=@Dec/2
set@Mod2=@Dec%2
set@BinStr=''
while@Div2<>0
begin
if@Mod2=0
set@BinStr=@BinStr+'0'
else
set@BinStr=@BinStr+'1'
set@Dec=@Dec/2
set@Div2=@Dec/2
set@Mod2=@Dec%2
end
set@BinStr=@BinStr+'1'
returnREVERSE(@BinStr+right('0000000000000000',16-len(@BinStr)))
end
『柒』 SQL資料庫二進制數如何轉換
C# 保存
openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP"; if(openFileDialog1.ShowDialog()==DialogResult.OK) {
string fullpath =openFileDialog1.FileName;//文件路徑 FileStream fs = new FileStream(fullpath, FileMode.Open); byte[] imagebytes =new byte[fs.Length]; BinaryReader br = new BinaryReader(fs);
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length)); //打開資料庫
SqlConnection con = new
SqlConnection("server=(local);uid=sa;pwd=;database=test"); con.Open();
SqlCommand com = new SqlCommand("insert into tb_08 values(@ImageList)",con);
com.Parameters.Add("ImageList", SqlDbType.Image); com.Parameters["ImageList"].Value = imagebytes; com.ExecuteNonQuery(); con.Close();
『捌』 sqlserver中二進制流數據轉成圖片並保存到mysql中怎麼操作
建議將
二進制數據
轉成圖片後,以文件形式保存,mysql只要保存該文件的文件存在
位置信息
即可。
『玖』 sql查詢中,我如果想把一個二進制的欄位轉義成中文意思,該執行什麼語句呢 例如:我
還得添加欄位2 名字為 hanyi 得往裡添加數據
然後用查詢語句就可以了
『拾』 sql server 2008 如何使圖片變為二進制
Sql不會使圖片變成二進制,你要在寫程序的時候把圖片轉換成二進制來進行存儲