-- 任意进制转换为10进制
-- 例 0FA 转换为 16进制 select dbo.f_BinaryToInt('0123456789ABCDEF', '0FA')
CREATE   function   dbo.f_BinaryToInt(@BinaryFormate varchar(100), @num   varchar(200))   
--@BinaryFormate 为自定义的进制格式
--@num 为要转换成10进制的自定义进制数
--16进制格式 0123456789ABCDEF
returns   DECIMAL(18, 0)
as   
BEGIN
 declare   @result   DECIMAL(18, 0), @Binary int, @V char(1), @len int, @value int
 SELECT   @result=0, @Binary = LEN(@BinaryFormate), @len = 0
 SET   @num   =   rtrim(ltrim(upper(reverse(@num))))     --为方便计算,将字符串反向
 WHILE @len < LEN(@Num)
 BEGIN
  SET @V = SUBSTRING(@num, @len + 1, 1)
  SET @value = CHARINDEX(@v, @BinaryFormate) -1
  SET @result =  @value*power(@Binary, @len) + @result
  SET @len = @len + 1
 END
 return(@result)
END
-- 10进制转换为任意进制
-- 例 250 转换为 3位16进制 select dbo.f_IntToBinary('0123456789ABCDEF', 250, 3)
CREATE   function   dbo.f_IntToBinary(@BinaryFormate varchar(100), @num   int, @len   int)   
--@BinaryFormate 为自定义的进制格式
--@num 为要转换成自定义进制的10进制数
--@len为转换后占用的位数
--16进制格式 0123456789ABCDEF
returns   varchar(200)   
as   
BEGIN
 declare   @result   varchar(200), @Binary int
 set   @result=''
 SET @Binary = LEN(@BinaryFormate)
 WHILE LEN(@result)<@len
  select   @result=substring(@BinaryFormate,@num%@Binary+1,1)+@result,@num=@num/@Binary   
 return(@result)
END
    
     
	
    网站更换空间的时候,经常会因为MSSQL数据库名不同,导致从旧空间备份的数据库在新空间还原后无法正常使用。这时候,我们可以通过将数据库表的所有者修改为"dbo"来解决这个问题,具体的方法如下:
打开"Microsoft SQL Server"的“企业管理器”,点开要修改的数据库,选择工具栏上的“工具” ......