进制转换以及成功处理完全可以增加个参数表示转换 几进制
if object_id('f_toOctal') is not null drop f_toOctal
go
/* 将数字转为八进制 hanjs 080612 */
create function f_toOctal(@source int)
returns varchar(100)
as
begin
declare @octal varchar(100)
declare @mod int,@remainder int
set @mod=@source
set @octal=''
while @mod<>0
begin
set @remainder=@mod%8
set @octal=rtrim(@remainder)+@octal
set @mod=@mod/8
end
return @octal
end
goselect dbo.f_toOctal(8)10
if object_id('f_toOctal') is not null drop f_toOctal
go
/* 将数字转为八进制 hanjs 080612 */
create function f_toOctal(@source int)
returns varchar(100)
as
begin
declare @octal varchar(100)
declare @mod int,@remainder int
set @mod=@source
set @octal=''
while @mod<>0
begin
set @remainder=@mod%8
set @octal=rtrim(@remainder)+@octal
set @mod=@mod/8
end
return @octal
end
goselect dbo.f_toOctal(8)10
create function f_10to2816(@source int,@digit int)
returns varchar(100)
as
begin
declare @octal varchar(100)
declare @mod int,@remainder int
set @mod=@source
set @octal=''
while @mod<>0
begin
set @remainder=@mod%@digit
set @octal=rtrim(@remainder)+@octal
set @mod=@mod/@digit
end
return @octal
end
goselect dbo.f_10to2816(8,8),dbo.f_10to2816(8,2),dbo.f_10to2816(8,16)10 1000 8