a, b, c вместо серийного номера 1, 2, 3 на сервере sql - PullRequest
1 голос
/ 24 июня 2011

У меня есть таблица 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

Вместо S.No 1,2,3,4,5,6 и т. Д. Я хочу английские алфавиты, такие как S.Noa, b, c, d, e, f, g, h, i и так далее ... Как этого добиться?

Ответы [ 2 ]

6 голосов
/ 24 июня 2011
  • Используйте обычный столбец tinyint с ограничением CHECK, чтобы он оставался в диапазоне от 1 до 26.
  • Добавьте вычисляемый столбец с CHAR (96 + значение tinyint)

то же самое можно сделать с помощью ROW_NUMBER (), чтобы обеспечить непрерывные числа, например, в SELECT.

И по модулю (% 26) тоже может пригодиться в какой-то момент

Однако, если выне более 26 значений в вашей таблице, почему бы не сделать это вручную ...

1 голос
/ 24 июня 2011
SELECT CHAR(97 + s_no) 'as_char' ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...