Как преобразовать результаты запроса для лучшей читаемости в чистом SQL - PullRequest
0 голосов
/ 30 сентября 2019

в базе данных, у меня есть столбец с кодовым номером (от 1 до 3). Каждое число соответствует состоянию (например, PATCHED = 1 - NOTPATCHED = 2 - NOTAPPLICABLE = 3). Эти состояния задокументированы, но не сохранены.

Когда я делаю простой запрос вроде

SELECT UID, STATES FROM COMPUTERS

Он возвращает что-то вроде

0001   1
0002   1
0003   3
0004   2
...

Есть ли способв чистом SQL для замены состояний по их значению, чтобы получить что-то с лучшей читабельностью, например:

0001   PATCHED 
0002   PATCHED 
0003   NOTAPPLICABLE 
0004   NOTPATCHED 
...

Я хотел бы еще раз подчеркнуть, что значения состояний не сохраняются и не могут быть.

Большое спасибо за вашу помощь.

Уильям

1 Ответ

2 голосов
/ 30 сентября 2019

Это легко сделать с помощью выражения CASE:

SELECT 
  UID, 
  CASE STATES 
    WHEN 1 THEN 'PATCHED'
    WHEN 2 THEN 'NOTPATCHED'
    WHEN 3 THEN 'NOTAPPLICABLE'
  END AS States_new
FROM COMPUTERS
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...