當前位置:首頁 » 編程語言 » sql二進制轉十進制
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql二進制轉十進制

發布時間: 2022-02-12 02:29:04

1. sql 資料庫二進制 兼容十進制的資料庫嗎

如果資料庫中存在下列依賴於資料庫排序規則的對象,ALTERDATABASEDATABASE_NAME COLLATE 語句將失敗。SQL SERVER 將針對每一個阻塞 ALTER 操作的對象返回一個錯誤消息:通過 SCHEMABINDING 創建的用戶定義函數和視圖。計算列。CHECK 約束。表值函數返回包含字元列的表,這些列繼承了默認的資料庫排序規則。

2. sql 讀出來的16進制怎麼轉10進制 和

public string ConvertString(string value, int fromBase, int toBase)
{
int intValue = Convert.ToInt32(value, fromBase);
return Convert.ToString(intValue, toBase);
}
其中fromBase為原來的格式
toBase為將要轉換成的格式
------------------------------------------------------------------------------
16進制轉10進制:
int number = Convert.ToInt32("", 16);
string str = Convert.ToString(number, 10);
str就是你要10進制。
抱歉,我測試了一下,16進制的超過了UInt64.MaxValue,不能使用上面的方法,我現在不知道如何轉化了。。。
你要是找到方法了,別忘告訴我!

3. 將大量數據變成二進制存入sqlserver中,怎麼還原成十進制

將大量數據變成二進制存入sqlserver中,怎麼還原成十進制
FileStream類直接讀取Excel文件,將位元組流讀取出來保存到BLOB(SQLServer中是Image)欄位中。

4. 用T-SQL語句編寫一個程序,它的題目是將十進制轉換成二進制

alter proc prc_num @num bigint
as
declare @numstr varchar(50)
set @numstr=
while (@num<>0)
begin
set @numstr=@numstr+convert(char(1),@num%2)
set @num=@num/2
end
select reverse(@numstr)

測試:exec prc_num 8

5. 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

6. SQL 中to_number將數字字元串轉換成了16進制,有沒有辦法轉換成10進制

你的問題,直接用下面的就ok了,不要加xx,加了xx,表示你告訴Oracle,後面這個20是16進制
select 20-to_number(『20') from al;

select to_number(』19f』,』xxx』) from al;
得到
415

select to_number(』f』,』xx』) from al;
得到
15

7. sql 讀出來的16進制怎麼轉10進制

等於 drzhzdq_1

給個Delphi 的轉化例子:

procere TForm1.Button1Click(Sender: TObject);
function DeleteSpace(ss: String): String;
var //刪除字元串中所有的空格
i: Integer;
begin
Result := ss;
i := 1;
while i <= Length(Result) do begin
if Result[i] = ' ' then Delete(Result, i, 1)
else Inc(i);
end;
end;
procere GetData(const ss: String; var dt: Array of Integer);
var
i,j: Integer;
sb: String;
begin
for i := Low(dt) to High(dt) do begin
j := 2 * i + 1;
sb := ss[j] + ss[j + 1];
dt[i] := StrToInt('$' + sb);
end;
end;
var
ss,sb,rt: String;
ac: Byte;
id,ct: Integer;
dt: Array of Integer;
begin
Edit2.Text := '';
ss := DeleteSpace(Edit1.Text); //去掉所有空格
ct := Length(ss);
if (ct mod 2) <> 0 then begin //首位<10
ss := '0' + ss;
Inc(ct);
end;
if ss[2] = 'x' then begin //考慮 0x878ABD7DB7CF 格式
Delete(ss, 1, 2);
Dec(ct, 2);
end;
SetLength(dt, ct div 2);
GetData(ss, dt);
rt := '';
if ct > 0 then begin
id := Low(dt);
while id <= High(dt) do begin
ac := dt[id];
if ac < 128 then begin // 單位元組字元
sb := Chr(ac);
Inc(id);
end else begin // 雙位元組字元
sb := Chr(ac) + Chr(dt[id + 1]);
Inc(id, 2);
end;
rt := rt + sb;
end;
end;
Edit2.Text := rt;
end;

8. 在SQL中怎樣把二進制轉換成十進制的數據

我只知道十進制轉二進制的
function zhuan(m) '翻譯數據
for i=0 to 12
p=m mod 2
if p=1 then
have=have&i&","
end if
m=int(m/2)
if m=0 then
zhuan=have
exit function
end if
next
end function

9. SQL中十六進制轉十進制語句

if exists(select * from sysobjects where name='p_zh' and type='p')
drop procere p_zh

create procere p_zh
@str varchar(10),--十六進制數
@ss int output--轉換後的十進制數
as
begin
declare @len int --十六進制數的長度
declare @st char(1) --取十六進制字元串里的字元
declare @st1 int--將取出的十六進制字元串里的字元轉換成十進制數
declare @le int --冪的值
set @ss=0
set @len=len(@str)
select @len
set @le=@len+1
while(@len>=1)
begin
set @st=substring(@str,@le-@len,1)
select @st

--判斷是什麼類的數,該怎麼轉換成十進制數
if(@st in('1','2','3','4','5','6','7','8','9','0')) set @st1=convert(int,@st)
if(@st in('A','a')) set @st1=10
if(@st in('B','b')) set @st1=11
if(@st in('C','c')) set @st1=12
if(@st in('D','d')) set @st1=13
if(@st in('E','e')) set @st1=14
if(@st in('F','f')) set @st1=15
set @len=@len-1
set @st1=@st1*power(16,@len)
set @ss=@ss+@st1
set @len=@len+1
set @len=@len-1
end
select @ss '十進制'
end

--例:
declare @sls varchar(10)
declare @ss int
set @sls='a5a8'
set @ss=0
execute p_zh @sls,@ss output
--可能有點煩,但我會的就是這個