|
postgresql 7.3 и CASE/WHEN
|
|||
---|---|---|---|
#18+
словил такую проблему: s=> SELECT case 1 when 1 then 0 else '' end; ERROR: pg_atoi: zero-length string проблема в том, что по условию выбирается 0 (т.е. работает then), однако сервер всё равно пытается конвертнуть пустую строку в int. самое интересное, что на 7.2 я такого не замечал. Подскажите, пожалуйста, в чем проблема. PS: сервер redhat 7.3 postgresql 7.3.3 поставлен из rpm с сайта постгреса конфиг запроса во freeradius'е примерно такой: UPDATE radacct SET AcctStopTime = '%S', AcctInputOctets = CASE WHEN '%{Acct-Input-Octets}' = '' THEN 0 ELSE '%{Acct-Input-Octets}' END; т.е. если переменная %{Acct-Input-Octets} пустая, то писать в базовод 0. поле AcctInputOctets типа numeric. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2003, 07:12 |
|
postgresql 7.3 и CASE/WHEN
|
|||
---|---|---|---|
#18+
> проблема в том, что по условию выбирается 0 (т.е. работает then), однако сервер всё равно пытается конвертнуть пустую строку в int. что в принципе правильно: серверу ж надо знать какой выходной тип будет у CASE... > UPDATE radacct SET AcctStopTime = '%S', AcctInputOctets = CASE WHEN '%{Acct-Input-Octets}' = '' THEN 0 ELSE '%{Acct-Input-Octets}' END; ну, посылай багрепорт авторам freeradius'а. :D ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2003, 13:41 |
|
postgresql 7.3 и CASE/WHEN
|
|||
---|---|---|---|
#18+
А так не пробовал? SELECT case 1 when 1 then '0' else '' end; ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2003, 10:16 |
|
|
start [/forum/topic.php?fid=53&fpage=365&tid=2008162]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
96ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 278ms |
total: | 469ms |
0 / 0 |