반응형

김종열

MS SQL Server MVP

엔트리브 소프트


다른 커뮤너티에서 10진수를 다른 진법의 수로 변환하는가에 대한 질문이 있더군요.
해서 간단한 FUNCTION을 하나 만들어봤습니다.

다음은 UDF_NOTATION.CS의 파일입니다.

using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;

public partial class UserDefinedFunctions
{
    [Microsoft.SqlServer.Server.SqlFunction]
    public static SqlString UDF_NOTATION(int oNum, int nNum)
    {
        try
        {
            string _not = Convert.ToString(oNum, nNum);
            return (SqlString)_not;

        }
        catch
        {
            return null;
        }       
    }
};




인자가 수가 먼저 들어온다는 점을 감안하셔야겠죠 ^^,
즉 16진수의 경우는 문자가 포함된 숫자임에도 이는 다시 10진수로 못 나타낸다는 이야기겠죠.

배포를 하시고 나시면 다음과 같은 쿼리로 확인을 해보십시오.


SELECT DBO.UDF_NOTATION(255, 16)


-----
ff
(1 row(s) affected)

반응형

+ Recent posts