powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / тип значения float функция фозвращает результат отчилчительный от процедуры
19 сообщений из 44, страница 2 из 2
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39719392
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

Почему разный?
в лефт джойне сначала одно сумируем (как и вфункции), потом прибавляю уже в селекте результат. Вроде все одинаково
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39719395
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyГавриленко Сергей Алексеевич,

Почему разный?
в лефт джойне сначала одно сумируем (как и вфункции), потом прибавляю уже в селекте результат. Вроде все одинаковоЭто в плане надо смотреть, в каком порядке выбираются записи из таблицы.
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39719397
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы было понятно:

Код: 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.
set nocount on
go
declare
    @a float = 0

select
    @a += a.object_id / 100.
from    sys.objects a
order by
    a.object_id asc

select @a

set @a = 0

select
    @a += a.object_id / 100.
from    sys.objects a
order by
    a.object_id desc

select @a

----------------------
642172377,58

----------------------
642172377,580001
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39719404
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

не совсем понял что вы хотели показать, план запроса одинаков в вашем примере. У меня информация также идентичная нету разници округления как у вас
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39719405
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyГавриленко Сергей Алексеевич, план запроса одинаков в вашем примере.Ну, если разное направление сортировки -- это одинаковый план, тогда извините.

kolyadyУ меня информация также идентичная нету разници округления как у васУ нас разные данные. Я могу привести 100% вопроизводимый пример, но теперь не уверен, что имеет смысл.
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39719410
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
set nocount on
go
declare
    @a float = 0

;WITH
  t0(i) AS (SELECT 0 UNION ALL SELECT 0 UNION ALL SELECT 0 UNION  ALL SELECT 0 UNION  ALL SELECT 0 UNION  ALL SELECT 0),
  t1(i) AS (SELECT 0 FROM t0 a, t0 b),
  t2(i) AS (SELECT 0 FROM t1 a, t1 b),
  t3(i) AS (SELECT 0 FROM t2 a, t2 b),
  n(i) AS (SELECT ROW_NUMBER() OVER(ORDER BY (SELECT 0)) FROM t3)
select
    @a += a.i / 999.
from    n a
order by
    a.i asc

select @a
--1411967760.45885
set @a = 0

;WITH
  t0(i) AS (SELECT 0 UNION ALL SELECT 0 UNION ALL SELECT 0 UNION  ALL SELECT 0 UNION  ALL SELECT 0 UNION  ALL SELECT 0),
  t1(i) AS (SELECT 0 FROM t0 a, t0 b),
  t2(i) AS (SELECT 0 FROM t1 a, t1 b),
  t3(i) AS (SELECT 0 FROM t2 a, t2 b),
  n(i) AS (SELECT ROW_NUMBER() OVER(ORDER BY (SELECT 0)) FROM t3)
select
    @a += a.i / 999.
from    n a
order by
    a.i desc

select @a
--1411967760.45652

...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39719412
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

понял спасибо :)
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39719643
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyTaPaK,

ну неточного это как посмотреть, и функция и процедура возвращает одно и тоже значение, вопрос в том почему они разные?

Ну, местные гуру привычно сослались на "неточный тип". Неточные они гуру.

Это особенности округления float при вычислениях

Например,

10^-16 + 10^-16 + ... и так 10^-16 раз сложить + 1.0 = 2.0

1.0 + 10^-16 + 10^-16 + ... и так 10^-16 раз сложить = 1.0
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39719679
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222kolyadyTaPaK,

ну неточного это как посмотреть, и функция и процедура возвращает одно и тоже значение, вопрос в том почему они разные?

Ну, местные гуру привычно сослались на "неточный тип". Неточные они гуру.

Это особенности округления float при вычислениях

Например,

10^-16 + 10^-16 + ... и так 10^-16 раз сложить + 1.0 = 2.0

1.0 + 10^-16 + 10^-16 + ... и так 10^-16 раз сложить = 1.0
для особенностей "округления гуру" 21707797
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39723021
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

есть конкретный пример
слаживаю 3 числа
SELECT CAST(6610.005 AS FLOAT)-CAST(361.81 AS FLOAT) -CAST(6324.68 AS FLOAT)

получается
-76,4850000000006

а функция слажывая их получает
76,4849999999997

можно ли добиться такогоже результата?
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39723030
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тут или начинать читать ответы и над ними думать, или в управдомы.

З.Ы. Не смущает, что цифры разных знаков получаются?
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39723032
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyесть конкретный пример Конкретный пример -- это когда есть код функции и всех объектов, код вставки данных в таблицы и два вызова, которые дают разные результат. Чтобы все могли запустить у себя и убедиться. А у вас фигня какая-то, а не конкретный пример.
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39723033
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

И какой ответ подходит?
по поводу минуса то очипятка

получается
-76,4850000000006

а функция слажывая их получает
-76,4849999999997
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39723034
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyИ какой ответ подходит?Все подходят.
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39723035
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,


функция большая , но на выходе она присваивает переменным 3 числа (которые я указал ) и итоговая переменная просто их слаживает
(как я тоже показал)
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39723036
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyГавриленко Сергей Алексеевич,


функция большая , но на выходе она присваивает переменным 3 числа (которые я указал ) и итоговая переменная просто их слаживает
(как я тоже показал)Ну так упростите, чтобы проблема сохранялась, и воспроизвести можно было. Возможно, в процессе упрощения поймете, что не так.

В любом случае, к вам никто не поедет отлаживать вашу функцию.
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39723037
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

суть в том что если бы оно их округляло какждый раз по разному вопросов нет, а так у меня функция выдает 1 число а процедура другое
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39723042
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

что упростить то ?
суть в том что функция делает кучу всего и возвращает 3 числа (которые я вам предоставил ), и в конце слаживает их , я в функции вывожу и 3 числа и результат слаживания

так вот в процедуре все 3 числа совпадают а результат нет?

вопрос почему?
...
Рейтинг: 0 / 0
тип значения float функция фозвращает результат отчилчительный от процедуры
    #39723046
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Хорош в почемучку тут играть. Будет воспроизводимое репро, будет ответ. Как справитесь, открывайте новую тему. Темы без репро будут удалены.
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / тип значения float функция фозвращает результат отчилчительный от процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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