Имя: Пароль:
1C
 
Postgres - округление в выражении ВЫРАЗИТЬ .. КАК ЧИСЛО
0 detec
 
02.12.09
18:50
Приевтствую!

В запросе использую сложное поэтапное округление с помощью вышеназванной конструкции. Заметил, что на некоторых данных, там, где используется округление сервера 1С Предприятие (функция Окр()) или запрос с ВЫРАЗИТЬ КАК идёт через MS SQL - метод округления Postgres отличается, и в результате получаются расходящиеся результаты в запросе.

Кто-то сталкивался с подобным или знает, что нужно подкрутить в Постргресе с округлением?
1 detec
 
02.12.09
18:51
вдогонку:

проверялось на 2-х версиях: 8.2.4 и 8.3.3. Причём подобное было замечено на разных версиях платформы 1С 8.1.
2 IronDemon
 
02.12.09
18:52
ВЫРАЗИТЬ не округляет
3 detec
 
02.12.09
18:59
(2)

Как же?

Если из БД я получаю число с 5-тью знаками после запятой, а потом пишу ВЫРАЗИТЬ(бла-бла КАК ЧИСЛО(10, 2)), то  у меня показывает именно 2-знака с округлением.

По крайней мере, судя по сложным алгоритмам, MS SQL округляет, причём правильно.
4 shuhard
 
02.12.09
19:03
(3) и всё равно
ВЫРАЗИТЬ не округляет
5 Serg_1960
 
02.12.09
19:10
Округляет сервер базы "по умолчанию" - если автор не округлил сам :)
6 Chai Nic
 
02.12.09
19:16
(4) Вот сейчас проверил запросом непосредственно серверу
select cast(4.567 as numeric(10,2)) и на mssql и на postgresql выдает 4.57
Так что округляет.
7 shuhard
 
02.12.09
19:29
(6) уел, полез в профайлер, проверять ВЫРАЗИТЬ КАК
8 eklmn
 
гуру
02.12.09
19:31
Это одноэсовский косяк
AdBlock убивает бесплатный контент. 1Сергей