|
|
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Знакомлюсь с SQL. Возникла простая задача. Нужно сделать SELECT к двум полям, но вернуть только ненулевое. Делаю пока так. Пишу на PL SQL для Си, поэтому прошу не обращать внимание на особенности синтаксиса SELECT VAR1, VAR2 INTO :var1 :var2 FROM TABLE WHERE KEY = :key; То есть сейчас я заполняю обе Си-переменные var1 и var2, дальше анализирую их в си коде на NULL. Хочу понять, как на уровне SQL написать условие, что если одно поле NULL, то выбрать второе. Заранее спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2017, 15:32 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
RTFM CASE Expressions (FAQ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2017, 15:37 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2017, 15:49 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
О Код: sql 1. Правильно сообразила? SELECT nvl(VAR1, VAR2) INTO :var FROM TABLE WHERE KEY = :key; То есть если VAR1 нулевое, то берем VAR2? Именно это и искала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2017, 16:00 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
Сразу мысли что произойдет, если оба поля NULL или оба заполнены. Нонсенс, но надо учитывать. Так что через IF THEN будет безопаснее, я так понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2017, 16:09 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
Если у нас оба поля NULL вернет ли SELECT код ошибки или в переменную var запишется NULL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2017, 16:26 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
А в документацию слабо зайти? 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2017, 17:24 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
violektra, var1var2nvl(var1, var2)nvl(var2, var1)nullnullnullnull1null11null1111212 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2017, 17:29 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
lLocust, умничка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2017, 18:47 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
lLocust, Спасибо огромное!! И вообще всем, кто откликнулся. Прошу не кидаться в меня мануалами, т.к. сфера новая и не сразу получается вникнуть в английскую документацию. Хотела бы еще попросить подсказать самый простой и удобный инструмент, где можно было бы накидать тестовую маленькую табличку и проверить запрос, как сделал это lLocust. У меня стоит Toad SQL, где загружена боевая схема БД. То есть пустая. И вообще лезть туда не хочется, чтобы ничего не поломать Только разбираюсь с ней. Поэтому пока все делаю по наитию. Как лучше всего быстро проверить SQL запрос? Может есть онлайн сервисы? Большое спасибо за отзывчивость! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2017, 21:34 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
violektraМожет есть онлайн сервисы? livesql.oracle.com требуется регистрация, но она бесплатная и быстрая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2017, 00:10 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
violektralLocust, Хотела бы еще попросить подсказать самый простой и удобный инструмент, где можно было бы накидать тестовую маленькую табличку и проверить запрос, как сделал это lLocust. Попросите развернуть Вам песочницу в СУБД, см. oracle database sample chemas ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2017, 06:58 |
|
||
|
Выборка ненулевого поля
|
|||
|---|---|---|---|
|
#18+
AnSi_Sroracle database sample schemas ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2017, 06:59 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39534807&tid=1885123]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 423ms |

| 0 / 0 |
