a,b,c而不是sql server中的序列号1,2,3

the*_*van 1 sql sql-server sql-server-2005 sql-server-2008

我有一个SQL Server表,如下所示:

   S.No            ID          Name
  -------        -----        -------
    1              100         Yuvraj
    2              101         Brian
    3              102         Paul
    4              103         Andrew
    5              104         Wasim
    6              105         Zaheer
    7              106         Shaun
    8              107         Lance
Run Code Online (Sandbox Code Playgroud)

而不是S.No 1,2,3,4,5,6等我想要英文字母,例如S.No a,b,c,d,e,f,g,h,i等等. ..如何实现这一目标?

gbn*_*gbn 6

  • 使用带有CHECK约束的普通tinyint列将其保持在1到26之间.
  • 使用CHAR添加计算列(96 + tinyint值)

例如,可以使用ROW_NUMBER()来确保SELECT中的连续数字.

modulo(% 26)在某些方面也可能有用

但是,如果表中的值不超过26,为什么不手动执行...