если (условие, то, еще) в Oracle

java.text. NumberFormat, вероятно, что Вы хотите.

12
задан Luke Girvin 24 January 2013 в 16:07
поделиться

6 ответов

Используйте стандартную функцию COALESCE:

SELECT COALESCE(foo.bar, 0) as "bar", ...

Или используйте собственную функцию NVL Oracle, которая делает то же самое.

14
ответ дан 2 December 2019 в 03:38
поделиться

Чтобы дополнить остальные ответы здесь, которые касаются в основном значений NULL и COALESCE / NVL / NVL2:

SELECT *
FROM TheTable
WHERE field1 = CASE field2 WHEN 0 THEN 'abc' WHEN 1 THEN 'def' ELSE '' END

Операторы CASE, очевидно, не так кратки, но они ориентированы на гибкость . Это особенно полезно, когда ваши условия не основаны на NULL.

15
ответ дан 2 December 2019 в 03:38
поделиться

Вы хотите использовать NVL или NVL2

NVL(t.column, 0)
NVL2( string1, value_if_NOT_null, value_if_null )
12
ответ дан 2 December 2019 в 03:38
поделиться

Ага, NVL должен помочь.

0
ответ дан 2 December 2019 в 03:38
поделиться

Вам нужна функция nvl: nvl (foo.bar, 0)

Oracle также поддерживает различные if и case.

0
ответ дан 2 December 2019 в 03:38
поделиться

Просто сделайте nvl (foo.bar, 0) , вам не нужно делать

(select nvl(foo.bar,0)... 
0
ответ дан 2 December 2019 в 03:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: