生成最小长度的唯一unicode字符的算法

时间:2012-01-13 11:48:50

标签: sql-server algorithm unicode

我有一个问题集,我必须在Sql server中为每个记录插入一个唯一的unicode字符(或一组字符)。有没有办法使用身份规范或任何其他方式来实现它?

该算法将返回相当于:

的unicode
[1],[2],[3]...[128],[1][1],[1][2],[1][3],....[1][128]

1 个答案:

答案 0 :(得分:0)

此脚本将生成您要查找的字符列表:

SELECT REPLICATE(NCHAR(127), [ROW_NUMBER] / 128) + CHAR([ROW_NUMBER] - ([ROW_NUMBER] / 128) * 128)
    FROM (
        SELECT [ROW_NUMBER] = ROW_NUMBER() OVER(ORDER BY [e].[EmployeeKey])
            FROM [dbo].[DimEmployee] [e]) [sub]

编辑CHAR更改为NCHAR