SQL Developer: как заказать NUMerically и заменить нулевое значение на CHAR - PullRequest
0 голосов
/ 27 сентября 2018
SELECT DISTINCT 
    department_id AS department,
    COUNT(employee_id) AS "total employees"
FROM 
    employees 
GROUP BY 
    department_id
ORDER BY 
    department_id;

Вывод:

enter image description here

(на основе базы данных персонала) ^ код перечисляет каждый отдельный отдел, подсчитывая сотрудников по отделам ичисловой порядок

Но мне нужно заменить нулевое значение на какой-то текст, я пытался использовать TO_CHAR, но когда я это делаю, я не могу заказать департаменты численно, я не знаю, как это сделать.

1 Ответ

0 голосов
/ 27 сентября 2018

Требуемый запрос:

SELECT COALESCE(department_id, 'Some text') AS department,
       COUNT(employee_id) AS total_employees
FROM employees 
GROUP BY department_id
ORDER BY department_id;

Если department_id - это число, сначала преобразуйте его в строку:

SELECT COALESCE(TO_CHAR(department_id), 'Some text') AS department,
       COUNT(employee_id) AS total_employees
FROM employees 
GROUP BY department_id
ORDER BY department_id;

Примечания:

  • COALESCE() - это стандартная функция SQL для замены значения NULL.
  • SELECT DISTINCT почти никогда не требуется при использовании GROUP BY.
  • Это предполагает, что ни один отделидентификатор 'some text'.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...