SQL> SELECT DECODE(symbol_value, 'A', 'Letter A',
2 'Z', 'Letter Z',
3 'Unknown letter')
4 FROM test_3;
DECODE(SYMBOL_
--------------
Letter Z
Letter A
Unknown letter
Letter A
SQL>
SQL>
SQL> -- NVL(выражение, значение_при_NULL) - если <выражение>=NULL то функция
SQL> -- возвращает <значение_при_NULL>, иначе возвращается <выражение>
SQL> INSERT INTO test_3 VALUES (NULL, 10, 'A', SYSDATE);
1 row created.
SQL> INSERT INTO test_3 VALUES ('str', NULL, 'B', SYSDATE);
1 row created.
SQL>
SQL> SELECT string_value, number_value FROM test_3;
STRING_VALUE NUMBER_VALUE
-------------------- ------------
AbcdeF 1234.56
fEDCBa 6543.21
xyz. abc 99.99
str 10
str
6 rows selected.
SQL> SELECT NVL(string_value, 'undefined'), NVL(number_value, 0) FROM test_3;
NVL(STRING_VALUE,UN NVL(NUMBER_VALUE,0)
-------------------- -------------------
AbcdeF 1234.56
fEDCBa 6543.21
xyz. abc 99.99
str 10
undefined 10
str 0
6 rows selected.
SQL>
SQL> -- NVL(выражение, значение_при_не_NULL, значение_при_NULL) - если <выражение>=NULL
SQL> -- то функция возвращает <значение_при_NULL>, иначе возвращается <выражение_при_не_NULL>
SQL> SELECT string_value, NVL2(string_value, 'OK', '?') FROM test_3;
STRING_VALUE NV
-------------------- --
AbcdeF OK
fEDCBa OK
xyz. abc OK
str OK
?
str OK
6 rows selected.
SQL>
SQL> --
SQL> -- УДАЛЕНИЕ ТАБЛИЦЫ
SQL> --
SQL> DROP TABLE test_3;
Table dropped.
SQL>