Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запросы Case и Decode. / 8 сообщений из 8, страница 1 из 1
24.07.2014, 19:25:32
    #38705373
Bagamut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы Case и Decode.
Имеются два одинаковых запроса, сделанные через две разные функции.
select job_id,
decode(job_id, 'AD_PRES','A',
'ST_MAN' , 'B',
'IT_PROG', 'C',
'SA_REP' , 'D',
'ST_CLERK' , 'E', '0') "GRADE"
from t1;

и

select job_id,
(case job_id WHEN 'AD_PRES' THEN 'A'
WHEN 'ST_MAN' THEN 'B'
WHEN 'IT_PROG' THEN 'C'
WHEN 'SA_REP' THEN 'D'
WHEN 'ST_CLERK' THEN 'E'
END) "GRADE"
from t1;

В первом случае остальные значения принимают ноль, а во втором случае не знаю как это сделать. Подскажите.
Пробовал WHEN '' THEN '0' , но все равно остается значение (null), а нужно чтобы 0 стоял.
...
Рейтинг: 0 / 0
24.07.2014, 19:49:00
    #38705389
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы Case и Decode.
decode - это из Оракла (в MySQL эта функция совсем для другого и имеет другие параметры).
А по CASE дока тут - CASE
...
Рейтинг: 0 / 0
24.07.2014, 19:59:42
    #38705394
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы Case и Decode.
Bagamut , может и проще можно, но вот такое предложение:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select 
  job_id,
  case FIELD(job_id, 'AD_PRES', 'ST_MAN', 'IT_PROG', 'SA_REP', 'ST_CLERK')
    when 1 then 'A'
    when 2 then 'B'
    -- ...
    else null
  end "GRADE"
from t1;
...
Рейтинг: 0 / 0
24.07.2014, 20:01:31
    #38705398
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы Case и Decode.
Ээээ... Или просто дописать ELSE NULL
...
Рейтинг: 0 / 0
24.07.2014, 20:02:02
    #38705400
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы Case и Decode.
Cygapb-007
Код: sql
1.
else null

Код: sql
1.
else 0
...
Рейтинг: 0 / 0
24.07.2014, 20:03:41
    #38705402
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы Case и Decode.
miksoftCygapb-007
Код: sql
1.
else null

Код: sql
1.
else 0

А, ну да... else '0'
...
Рейтинг: 0 / 0
24.07.2014, 20:05:27
    #38705405
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы Case и Decode.
Cygapb-007А, ну да... else '0'Да, с кавычками вернее будет.
...
Рейтинг: 0 / 0
24.07.2014, 23:05:24
    #38705479
Bagamut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы Case и Decode.
Спасибо всем. Помогло. И да, ошибся веткой, мне это в оракле надо, в sql developer.
тема закрыта.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запросы Case и Decode. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]