Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
sql server 2016, то же самое и на 2017 похоже на баг в первом варианте: DECLARE @price NUMERIC(32,16) = 12599 DECLARE @discount NUMERIC(32,16) = 7 SELECT ((@price - ROUND(@price * (1- @discount/100),0)) /@price * 100) GO DECLARE @price FLOAT(32) = 12599 DECLARE @discount FLOAT(32) = 7 SELECT ((@price - ROUND(@price * (1- @discount/100),0)) /@price * 100) правильный результат во втором. Кто может объяснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 16:07 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
А можно подробнее? я причину так и не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 16:28 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
что за баг?, подробней чем там некуда уже NUMERIC(15,10) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 16:33 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
ну или медитируйте над фразой автор* The result precision and scale have an absolute maximum of 38. When a result precision is greater than 38, the corresponding scale is reduced to prevent the integral part of a result from being truncated. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 16:35 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
спасибо, остается только медитировать :) Microsoft Dynamics AX имеет всего один числовой тип данных в sql sever - NUMERIC(32,16). Просто круть. А oracle, кстати, этот кейс считает правильно. Привет микрософту :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 17:27 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
что за баг?, Привет скорее тебе. Вот выполни Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 17:31 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
a_voronin, а что изменится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 17:37 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
c FLOAT правильно работает хоть с FLOAT(1) хоть с FLOAT(53) криво работает именно с NUMERIC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 17:40 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
что за баг?c FLOAT правильно работает хоть с FLOAT(1) хоть с FLOAT(53) криво работает именно с NUMERIC это только вам так кажется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 17:42 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
TaPaKчто за баг?c FLOAT правильно работает хоть с FLOAT(1) хоть с FLOAT(53) криво работает именно с NUMERIC это только вам так кажется помедитируйте теперь вы, у вас есть есть ERP-система и субд от одного разработчика, которая, криво работает. От того, что микрософт задокументировала свой алгоритм ее же erp ровнее работать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 17:51 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
что за баг?TaPaKпропущено... это только вам так кажется помедитируйте теперь вы, у вас есть есть ERP-система и субд от одного разработчика, которая, криво работает. От того, что микрософт задокументировала свой алгоритм ее же erp ровнее работать не будет. какой алгоритм? вам надо какая точность надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 17:54 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
что за баг?TaPaKпропущено... это только вам так кажется помедитируйте теперь вы, у вас есть есть ERP-система и субд от одного разработчика, которая, криво работает. От того, что микрософт задокументировала свой алгоритм ее же erp ровнее работать не будет.Тогда раз у вас претензия к некоторой ERP-системе от MS, может быть вы обратитесь в ее службу поддержки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 17:58 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 18:02 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
TaPaKкакой алгоритм? вам надо какая точность надо вот этот алгоритм, коорый усЁк точность на 4-ом знаке: Операция Точность результата Масштаб результата * e1 + e2 max(s1, s2) + max(p1-s1, p2-s2) + 1 max(s1, s2) e1 - e2 max(s1, s2) + max(p1-s1, p2-s2) + 1 max(s1, s2) e1 * e2 p1 + p2 + 1 s1 + s2 e1 / e2 p1 - s1 + s2 + max(6, s1 + p2 + 1) max(6, s1 + p2 + 1) e1 { UNION | EXCEPT | INTERSECT } e2 max(s1, s2) + max(p1-s1, p2-s2) max(s1, s2) e1 % e2 min(p1-s1, p2 -s2) + max( s1,s2 ) max(s1, s2) * Точность и масштаб результата имеют абсолютный максимум, равный 38. Если значение точности превышает 38, то соответствующее значение масштаба уменьшается, чтобы по возможности предотвратить усечение целой части результата. ---------- Я вам привел реальный кейс, когда манагеры с IT не могли понять в чем причина кривой цифры. на калькуляторе и на oracle, с подобным типом данных, цифра получается одинаковая и не такая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 18:11 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичТогда раз у вас претензия к некоторой ERP-системе от MS, может быть вы обратитесь в ее службу поддержки? Может быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 18:15 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
что за баг?TaPaKкакой алгоритм? вам надо какая точность надо вот этот алгоритм, коорый усЁк точность на 4-ом знаке: Операция Точность результата Масштаб результата * e1 + e2 max(s1, s2) + max(p1-s1, p2-s2) + 1 max(s1, s2) e1 - e2 max(s1, s2) + max(p1-s1, p2-s2) + 1 max(s1, s2) e1 * e2 p1 + p2 + 1 s1 + s2 e1 / e2 p1 - s1 + s2 + max(6, s1 + p2 + 1) max(6, s1 + p2 + 1) e1 { UNION | EXCEPT | INTERSECT } e2 max(s1, s2) + max(p1-s1, p2-s2) max(s1, s2) e1 % e2 min(p1-s1, p2 -s2) + max( s1,s2 ) max(s1, s2) * Точность и масштаб результата имеют абсолютный максимум, равный 38. Если значение точности превышает 38, то соответствующее значение масштаба уменьшается, чтобы по возможности предотвратить усечение целой части результата. ---------- Я вам привел реальный кейс, когда манагеры с IT не могли понять в чем причина кривой цифры. на калькуляторе и на oracle, с подобным типом данных, цифра получается одинаковая и не такая. для и ндусов всегда так авторSELECT (100*CAST((@price - ROUND(@price * (1- @discount/100),0))as INT) /(@price)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 18:16 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
TaPaKдля и ндусов всегда так авторSELECT (100*CAST((@price - ROUND(@price * (1- @discount/100),0))as INT) /(@price)) лучше бы индусы не писали ни sql server, ни erp, но в любом случае еще один жирный минус sql server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 18:33 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
что за багTaPaKдля и ндусов всегда так пропущено... лучше бы индусы не писали ни sql server, ни erp, но в любом случае еще один жирный минус sql server обидели мышку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 18:36 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
что за баг?А oracle, кстати, этот кейс считает правильно. Привет микрософту :)А диапазоны numeric(decimal) на Oracle и MSSQL не пытались сравнить, прежде чем ярлыки лепить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 18:46 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
invmчто за баг?А oracle, кстати, этот кейс считает правильно. Привет микрософту :)А диапазоны numeric(decimal) на Oracle и MSSQL не пытались сравнить, прежде чем ярлыки лепить? NUMBER A decimal number with up to 38 significant digits in the range of -(10**125) to +(10**125) Вы имеете ввиду, что там тоже возможны подобные кейсы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 19:01 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
что за багTaPaKдля и ндусов всегда так пропущено... лучше бы индусы не писали ни sql server, ни erp, но в любом случае еще один жирный минус sql serverНе используйте MSSQL, делов-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 19:03 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
что за баг, я бы не стал так ратовать за оракл с его неявными преобразованиями типов. так-то оно тоже иногда доставляет проблем "на ровном месте". просто нужно учитывать специфику каждой СУБД и подстраивать свои решения под неё... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 19:18 |
|
||
|
что за баг?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эхчто за баг, я бы не стал так ратовать за оракл с его неявными преобразованиями типов. так-то оно тоже иногда доставляет проблем "на ровном месте". просто нужно учитывать специфику каждой СУБД и подстраивать свои решения под неё... согласен, найду такой баг в оракле - поставлю жирный минус ораклу. Странно, что всех это устраивает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 20:49 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39602658&tid=1690236]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
63ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 410ms |

| 0 / 0 |
