| 
 | 
| 
 
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&tid=2008162]:  | 
    0ms | 
get settings:  | 
    11ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    39ms | 
get topic data:  | 
    13ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    41ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 231ms | 
| total: | 362ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.