Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Добрый день ! Подскажите пожалуйста в чем может быть проблема, есть функция она возвращает результат с округлением одним а процедура с другим, данные при этом берутся с одного и того же места, условия идентичны. Но по факту например: функция процедура 8606,825 8606,82499999999 8649,89499999999 8649,89500000001 24184,2449999999 24184,245 15802,005 15802,005 тобиш иногда совпадают иногда нет думаю что связано это с типом float , но как добиться чтобы данные были идентичны (при чем надо именно процедуру подогнать под функцию). потомучто если округлять до 2 знаков после запятой то в зависимости о того какое значение флоат оно округляет иногда в большую иногда в меньшую сторону и так как значения разные то и копейка гуляет туда сюда. Есть какие либо соображения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:02 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyесть функция она возвращает результат с округлением одним а процедура с другим Вы действительно спрашиваете, почему разный код дает разный результат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:04 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, код идентичный, что в процедуре что в табличной функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:09 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, код идентичный, что в процедуре что в табличной функцииЭто вам только так кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:10 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, и в чем же разница ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:13 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, и в чем же разница в коде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:14 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, и в чем же разницаВ вашем коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:14 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, Вернее есть какие либо механизмы победить несовпадение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:14 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, Вернее есть какие либо механизмы победить несовпадениеИсправить неправильный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:14 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, Вернее есть какие либо механизмы победить несовпадение показать код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:14 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#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. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. Модератор: Вложение удалено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:21 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#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. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. Модератор: Вложение удалено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:22 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyесть функция она возвращает результат с округлением одним а процедура с другим, данные при этом берутся с одного и того же места, условия идентичны Нет, условия разные в плане отображения. Ты в курсе, что у float всего 7 значащих цифр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:26 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, ну я в процедуре конфертил в флоат, не помогает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:28 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Модератор: kolyady, хорош постить свой код -- он уже есть в спойлерах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:29 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, ясно, короче не вариант показать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:29 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, ясно, короче не вариант показатьГлазоньки разуйте и посмотрите ваши сообщения с удаленным вложением. На плюсик нажмите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:30 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
вобщем есть какиелибо идеи как привести данные в процедуре к таким же как в функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:31 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyady, туплю :) сор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:31 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Результаты каких именно вычислений у вас расходятся? SCURRENT? Так в процедуре туда еще con.initvalue какой-то прибавляется. В целом, если хотите одинаковый результат при операциях с float-значениями -- оперируйте с ними в одинаковом порядке и объеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:40 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, con.initvalue тут все правильно что в процедуре что в функции, разница в округлениях. в процедуре кастил в float, все значения но результат такой же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:43 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, con.initvalue тут все правильно что в процедуре что в функции, разница в округлениях. в процедуре кастил в float, все значения но результат такой же для начала https://docs.microsoft.com/en-us/sql/t-sql/data-types/precision-scale-and-length-transact-sql?view=sql-server-2017 какое из сложений округляет решаёте сами ну и требоватьточность от типапо определению не точного это обычное дело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:46 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
TaPaK, ну неточного это как посмотреть, и функция и процедура возвращает одно и тоже значение, вопрос в том почему они разные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 13:58 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyTaPaK, ну неточного это как посмотреть, и функция и процедура возвращает одно и тоже значение, вопрос в том почему они разные? смотреть в определение Approximate-number data types ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:00 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyTaPaK, ну неточного это как посмотреть, и функция и процедура возвращает одно и тоже значение, вопрос в том почему они разные?Они разные, потому что вы суммируете float-значения в разном порядке. В этом случае результат может быть разный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:08 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, Почему разный? в лефт джойне сначала одно сумируем (как и вфункции), потом прибавляю уже в селекте результат. Вроде все одинаково ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:18 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, Почему разный? в лефт джойне сначала одно сумируем (как и вфункции), потом прибавляю уже в селекте результат. Вроде все одинаковоЭто в плане надо смотреть, в каком порядке выбираются записи из таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:19 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#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. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:20 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, не совсем понял что вы хотели показать, план запроса одинаков в вашем примере. У меня информация также идентичная нету разници округления как у вас ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:34 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, план запроса одинаков в вашем примере.Ну, если разное направление сортировки -- это одинаковый план, тогда извините. kolyadyУ меня информация также идентичная нету разници округления как у васУ нас разные данные. Я могу привести 100% вопроизводимый пример, но теперь не уверен, что имеет смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:38 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, не совсем понял что вы хотели показать, план запроса одинаков в вашем примере. У меня информация также идентичная нету разници округления как у вас очень уопрный.... ссылку то хоть открывал? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:46 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
TaPaK, понял спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:49 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyTaPaK, ну неточного это как посмотреть, и функция и процедура возвращает одно и тоже значение, вопрос в том почему они разные? Ну, местные гуру привычно сослались на "неточный тип". Неточные они гуру. Это особенности округления float при вычислениях Например, 10^-16 + 10^-16 + ... и так 10^-16 раз сложить + 1.0 = 2.0 1.0 + 10^-16 + 10^-16 + ... и так 10^-16 раз сложить = 1.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2018, 06:17 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
aleks222kolyadyTaPaK, ну неточного это как посмотреть, и функция и процедура возвращает одно и тоже значение, вопрос в том почему они разные? Ну, местные гуру привычно сослались на "неточный тип". Неточные они гуру. Это особенности округления float при вычислениях Например, 10^-16 + 10^-16 + ... и так 10^-16 раз сложить + 1.0 = 2.0 1.0 + 10^-16 + 10^-16 + ... и так 10^-16 раз сложить = 1.0 для особенностей "округления гуру" 21707797 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2018, 08:58 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
TaPaK, есть конкретный пример слаживаю 3 числа SELECT CAST(6610.005 AS FLOAT)-CAST(361.81 AS FLOAT) -CAST(6324.68 AS FLOAT) получается -76,4850000000006 а функция слажывая их получает 76,4849999999997 можно ли добиться такогоже результата? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 18:44 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Ну тут или начинать читать ответы и над ними думать, или в управдомы. З.Ы. Не смущает, что цифры разных знаков получаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:04 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyесть конкретный пример Конкретный пример -- это когда есть код функции и всех объектов, код вставки данных в таблицы и два вызова, которые дают разные результат. Чтобы все могли запустить у себя и убедиться. А у вас фигня какая-то, а не конкретный пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:07 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, И какой ответ подходит? по поводу минуса то очипятка получается -76,4850000000006 а функция слажывая их получает -76,4849999999997 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:08 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyИ какой ответ подходит?Все подходят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:10 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, функция большая , но на выходе она присваивает переменным 3 числа (которые я указал ) и итоговая переменная просто их слаживает (как я тоже показал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:10 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
kolyadyГавриленко Сергей Алексеевич, функция большая , но на выходе она присваивает переменным 3 числа (которые я указал ) и итоговая переменная просто их слаживает (как я тоже показал)Ну так упростите, чтобы проблема сохранялась, и воспроизвести можно было. Возможно, в процессе упрощения поймете, что не так. В любом случае, к вам никто не поедет отлаживать вашу функцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:11 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
TaPaK, суть в том что если бы оно их округляло какждый раз по разному вопросов нет, а так у меня функция выдает 1 число а процедура другое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:12 |
|
||
|
тип значения float функция фозвращает результат отчилчительный от процедуры
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, что упростить то ? суть в том что функция делает кучу всего и возвращает 3 числа (которые я вам предоставил ), и в конце слаживает их , я в функции вывожу и 3 числа и результат слаживания так вот в процедуре все 3 числа совпадают а результат нет? вопрос почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 19:15 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1688902]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
97ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 518ms |

| 0 / 0 |
