использовать NVL в оракуле LEFT JOIN? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть 2 таблицы:

Table A:      TableB:
ID            ID    Value
1             2     0.5
2             3     10
3

мой запрос:

SELECT A.ID,B.VALUE FROM A LEFT JOIN B ON A.ID = B.ID;

результат:

ID    Value
1      
2     0.5
3     10

Я хочу заменить нулевое значение на '-'и я попытался использовать NVL (B.VALUE,' - '), но это не сработало, так что мне делать?

1 Ответ

0 голосов
/ 21 февраля 2019

«Не работает» - не очень полезное описание вашей проблемы.Я предполагаю, что вы получили «ORA-01722: неверный номер», потому что NVL( B.value, '-' ) попытается привести второй аргумент к тому же типу данных, что и первый, и вы не можете привести «-» к числу.Но если вы заключите первый аргумент в TO_CHAR, он будет работать следующим образом:

SELECT A.ID, NVL( TO_CHAR( B.VALUE ), '-' ) FROM TableA A LEFT JOIN TableB B ON A.ID = B.ID;

SQL Fiddle пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...