本文引用自此 - T-SQL N 進位轉 10 進位

-- =============================================
-- Author: Frank
-- Create date: 2009-2-18
-- Description: n 進位轉 10 進位
-- =============================================
Create FUNCTION [dbo].[NConvToTen]
(
@num nvarchar(100),-- 轉換前的 n 進位數字
@N tinyint-- 轉換成前數字是幾進位 (1-16)
)
RETURNS bigint
AS
BEGIN
declare @i tinyint,@sub tinyint,@result bigint
set @result=0
set @i=len(@num)
while @i>0
begin
if ISNUMERIC(substring(@num,@i,1))=1 set @sub=cast(substring(@num,@i,1) as tinyint)
else set @sub=ASCII(upper(substring(@num,@i,1)))-55
select @result=@result+@sub*power(@N,len(@num)-@i)
set @i=@i-1
end
return @result
END



----------------------------------

使用→
SELECT dbo.NConvToTen(Tablefield, 2)
FROM TableName
相關文章