把二進位制的字段以字串形式Select出來

2021-04-13 02:52:36 字數 969 閱讀 5205

有乙個table,某個欄位為二進位制形式(binary),在查詢管理器中select出來就是形如」0x0a1f8697ff0000000000」,問題是儲存過程不能返回二進位製欄位,不知道有什麼辦法可以select出來變為「0a1f8697ff00」這樣乙個字串呢?我設計的這個欄位以ff00為結束,ff00後面的字元忽略。

select cast(left(0x0a1f8697ff0000000000,charindex(0xff00,0x0a1f8697ff0000000000)) as varbinary(8000)) as str

create table test6(a binary(50)) --drop table test6

insert test6 select 0x0a1f8697ff0000000000

select cast(left(a,charindex(0xff00,a)) as varbinary(8000)) as str from test6

declare @bin varbinary(1000)

declare @result varchar(1000)

set @bin = 0x0a1f8697ff0000000000

exec master.dbo.xp_varbintohexstr @bin, @result output

----去掉字串前面的'0x'字元

set @result = stuff(@result,1,2,'')

----去掉最後的ff00後面的字元(當有多個ff00時只從最後乙個ff00擷取)

select reverse(substring(reverse(@result),charindex(reverse('ff00'),reverse(@result)),len(@result)- charindex(reverse('ff00'),reverse(@result))+1))

/*結果

0a1f8697ff00

*/

string字串形式的二進位制加法運算

題目 兩個二進位制數a和b,用string字串表示,要求進行加法運算 解法 string addbinary string a,string b reverse ret.begin ret.end 將ret反轉 return ret 在自己寫時,遇到各種型別之間相互轉換的問題,最終選擇的解決方法是放...

計算二進位制字串

4646598ce4f12f0f484da18acbd83813.png en resource database 11364 1 1226f6e4e21ed6df41356aa6e9e857c0.png en resource database 11366 1 遇到難度較大的題目的解題步驟 1.找...

計算二進位制字串

題目描述 給定乙個字串 s,計算具有相同數量0和1的非空 連續 子字串的數量,並且這些子字串中的所有0和所有1都是組合在一起的。重複出現的子串要計算它們出現的次數。示例 1 輸入 00110011 輸出 6 解釋 有6個子串具有相同數量的連續1和0 0011 01 1100 10 0011 和 01...