Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выборка ненулевого поля / 15 сообщений из 15, страница 1 из 1
11.10.2017, 15:32
    #39534787
violektra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
Здравствуйте!

Знакомлюсь с SQL. Возникла простая задача. Нужно сделать SELECT к двум полям, но вернуть только ненулевое.

Делаю пока так. Пишу на PL SQL для Си, поэтому прошу не обращать внимание на особенности синтаксиса

SELECT VAR1, VAR2
INTO :var1
:var2
FROM TABLE
WHERE KEY = :key;

То есть сейчас я заполняю обе Си-переменные var1 и var2, дальше анализирую их в си коде на NULL. Хочу понять, как на уровне SQL написать условие, что если одно поле NULL, то выбрать второе.

Заранее спасибо за помощь!
...
Рейтинг: 0 / 0
11.10.2017, 15:37
    #39534788
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
...
Рейтинг: 0 / 0
11.10.2017, 15:49
    #39534800
О
О
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
Код: sql
1.
SELECT nvl(VAR1, VAR2)
...
Рейтинг: 0 / 0
11.10.2017, 15:50
    #39534801
Stawros
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
violektra,

COALESCE или NVL
...
Рейтинг: 0 / 0
11.10.2017, 16:00
    #39534807
violektra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
О
Код: sql
1.
SELECT nvl(VAR1, VAR2)



Правильно сообразила?

SELECT nvl(VAR1, VAR2)
INTO :var
FROM TABLE
WHERE KEY = :key;

То есть если VAR1 нулевое, то берем VAR2? Именно это и искала
...
Рейтинг: 0 / 0
11.10.2017, 16:09
    #39534815
violektra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
Сразу мысли что произойдет, если оба поля NULL или оба заполнены. Нонсенс, но надо учитывать. Так что через IF THEN будет безопаснее, я так понимаю.
...
Рейтинг: 0 / 0
11.10.2017, 16:26
    #39534827
violektra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
Если у нас оба поля NULL вернет ли SELECT код ошибки или в переменную var запишется NULL?
...
Рейтинг: 0 / 0
11.10.2017, 17:24
    #39534881
Non-Grata
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
А в документацию слабо зайти?

NVL lets you replace null (returned as a blank) with a string in the results of a query. If expr1 is null, then NVL returns expr2. If expr1 is not null, then NVL returns expr1.
...
Рейтинг: 0 / 0
11.10.2017, 17:29
    #39534888
lLocust
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
violektra,


var1var2nvl(var1, var2)nvl(var2, var1)nullnullnullnull1null11null1111212
...
Рейтинг: 0 / 0
11.10.2017, 18:47
    #39534977
Похвалун.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
lLocust, умничка.
...
Рейтинг: 0 / 0
11.10.2017, 21:34
    #39535051
violektra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
lLocust,

Спасибо огромное!!
И вообще всем, кто откликнулся.
Прошу не кидаться в меня мануалами, т.к. сфера новая и не сразу получается вникнуть в английскую документацию.

Хотела бы еще попросить подсказать самый простой и удобный инструмент, где можно было бы накидать тестовую маленькую табличку и проверить запрос, как сделал это lLocust.

У меня стоит Toad SQL, где загружена боевая схема БД. То есть пустая. И вообще лезть туда не хочется, чтобы ничего не поломать
Только разбираюсь с ней. Поэтому пока все делаю по наитию.

Как лучше всего быстро проверить SQL запрос? Может есть онлайн сервисы?

Большое спасибо за отзывчивость!
...
Рейтинг: 0 / 0
12.10.2017, 00:10
    #39535098
Выборка ненулевого поля
violektraМожет есть онлайн сервисы?

livesql.oracle.com требуется регистрация, но она бесплатная и быстрая
...
Рейтинг: 0 / 0
12.10.2017, 06:58
    #39535132
AnSi_Sr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
violektralLocust,
Хотела бы еще попросить подсказать самый простой и удобный инструмент, где можно было бы накидать тестовую маленькую табличку и проверить запрос, как сделал это lLocust.

Попросите развернуть Вам песочницу в СУБД, см. oracle database sample chemas
...
Рейтинг: 0 / 0
12.10.2017, 06:59
    #39535133
AnSi_Sr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
AnSi_Sroracle database sample schemas
...
Рейтинг: 0 / 0
12.10.2017, 08:21
    #39535151
trace.log
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка ненулевого поля
Может у вас уже есть схемка Scott, она как раз с тестовым набором.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выборка ненулевого поля / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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