Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl: Как работать с числовыми данными в СУБД? / 3 сообщений из 3, страница 1 из 1
06.06.2012, 11:27:55
    #37827214
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl: Как работать с числовыми данными в СУБД?
Есть скрипт, который получает информацию из СУБД Oracle (используется DBI).
Запрос возвращает в том числе и числовые данных (денежные суммы, тип NUMBER(20,5)).
Данные получаю с помощью fetchrow_hashref, в хеше следующие данные (print Dumper($row)):
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$VAR1 = {
          'NUM' => '1010013',
          'ID' => '93',
          'ADR' => '...',
          'DOLG' => '6,5',
          'FIO' => '...',
          'SMES' => '744',
          'SUM' => '750'
        };


В поле DOLG значение 6.50. Но хранится оно, как текст, и при арифметических операциях округляется до 6.
Как следует с этим полем поступать?
Можно ли настроить DBI таким образом, чтобы при выборке данных числовые значения сразу приходили, как числа?
Или нужно заменять запятую на точку (в этом случае при арифметических операциях дробные значения учитываются)?
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
06.06.2012, 11:41:49
    #37827248
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl: Как работать с числовыми данными в СУБД?
Сделал таким образом, уж не знаю, насколько правильно:
$dbh->do("ALTER SESSION SET NLS_NUMERIC_CHARACTERS = '. '");
...
Рейтинг: 0 / 0
06.06.2012, 12:22:12
    #37827341
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl: Как работать с числовыми данными в СУБД?
Alibek B.,

еще можно в самом запросе форматировать сумму маской как вам надо. например to_char(dolg, '999990.99')
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl: Как работать с числовыми данными в СУБД? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]