|
|
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
HI ALL! Никак не могу сообразить (мозги замерзли!) как в select (обязательно select, никаких функций!) обработать поле что бы получить следующее: 1. если поле is null --> null 2. если поле равно <значение> --> abcd<значение> replace, translate, || не помогают. HELP pls! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 09:11 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
nvl? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 09:15 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
decode(a,null,'abcd'||a)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 09:16 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
Хотя я не совсем понял что нужно вместо пустого значения, но советую посмотреть функцию NVL (она используеться в простом оракловом select'е) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 09:18 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
Может тогда лучше NVL2 ? IIf expr1 is not null, NVL2 returns expr2. If expr1 is null, NVL2 returns expr3. The argument expr1 can have any datatype. The arguments expr2 and expr3 can have any datatypes except LONG. If the datatypes of expr2 and expr3 are different, Oracle converts expr3 to the datatype of expr2 before comparing them unless expr3 is a null constant. In that case, a datatype conversion is not necessary. The datatype of the return value is always the same as the datatype of expr2, unless expr2 is character data, in which case the return value's datatype is VARCHAR2. Syntax NVL2 (expr1, expr2, expr3) SSELECT ename, NVL2(TO_CHAR(COMM), 'SAL & COMM', 'SAL') income FROM emp WHERE deptno = 30; ENAME INCOME ---------- ---------- ALLEN SAL & COMM WARD SAL & COMM MARTIN SAL & COMM BLAKE SAL TURNER SAL & COMM JAMES SAL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 09:32 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
Огромное всем спасибо! Подошла NVL2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 09:41 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
nvl2 в простом select работает, но когда я его помещаю в хранимую процедуру (в составе того же select) - пишет PLS-00201 идентификатор NVL2 должен быть обьявлен! версия - Oracle8i Enterprise Edition Release 8.1.5.0.0, 64-bit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 09:53 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
в самом деле нету:) пиши тогда decode(field1,null,null,abcd||field1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 10:46 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
Ну у SQL и PL/SQL разные движки, поэтому в SQL уже есть эта новая функция NVL2, а в PL/SQL нету ... :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 11:10 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
ничего ж себе новая. в восьмёрке уже есть/была ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 11:13 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
Скажем так - относительно новая :-) Про такой прикол с NVL2 где-то писалу уже, не могу вспомнить где. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 12:02 |
|
||
|
replace, translate, || или что нибудь еще
|
|||
|---|---|---|---|
|
#18+
Попробуй в pl/sql использовать COALESCE: http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/functions19a.htm#SQLRF00617 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 12:08 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2821&tid=1992244]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 325ms |

| 0 / 0 |
