72 похожих чатов

С бодрым. Есть MS SQL и запрос к нему: select 1 as

w into #tt2 where 1=0;
SELECT
ISNULL(MAX(0.0),1.0)
FROM #tt2 T1

Который выдаёт Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric. пока аргумент MAX() находится в диапазоне от -0.9.. до +0.9..

Смотрел ограничения типа numeric - вроде всё ок. Ограничения функции MAX() - тоже ничего криминального не нашёл.

Подскажите, с чем связано? Куда ещё можно глянуть?

11 ответов

30 просмотров

Пришли полностью ошибку , весь текст в оригинальном виде.

Konstantin-Redkin Автор вопроса
Ilya Zviagin
Пришли полностью ошибку , весь текст в оригинально...

(затронуто строк: 0) (затронута одна строка) --------------------------------------- Сообщение 8115, уровень 16, состояние 8, строка 3 Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric. Время выполнения: 2022-07-06T18:25:28.5981025+03:00

Konstantin-Redkin Автор вопроса
Konstantin Redkin
Вот и я удивился

На досуге попробую воспроизвести у себя...

https://translated.turbopages.org/proxy_u/en-ru.ru.10ada680-62c5ab29-2b84b898-74722d776562/https/stackoverflow.com/questions/4670903/arithmetic-overflow-error-converting-numeric-to-data-type-numeric

зачем ты вообще используешь max без агрегата?

Konstantin-Redkin Автор вопроса
Etki
зачем ты вообще используешь max без агрегата?

Синтетический пример, которым меня озадачил коллега. Это не реальная задача и в реальной жизни я такое использовать не буду.

Konstantin-Redkin Автор вопроса

В общем, как мне сказали, ответ таков: >> Короче дело раскрыто SELECT SQL_VARIANT_PROPERTY(0.0,'BaseType'), SQL_VARIANT_PROPERTY(0.0,'Precision') , SQL_VARIANT_PROPERTY(0.0,'scale') 0.0 и любое дробное 0.х трактуется как нумерик(1,1), к которому преобразовать любое число с общей длиной больше 1 уже нельзя. Соответственно 1.0 и любое 1.х трактуется уже как нумерик(2,1). << Всем спасибо.

Konstantin Redkin
В общем, как мне сказали, ответ таков: >> Короче ...

Звучит странно, ты во втором параметре isnull задал такой тип, поэтому он и вернулся при null в первом, задай другой тип-и он вернется

Konstantin-Redkin Автор вопроса
NinjaKitten
Звучит странно, ты во втором параметре isnull зада...

1.0 это numeric(2,1), 0.9 - numeric(1,1) Происходит каст типа у 1.0 к касту типа у 0.9. 1.0 не помещается в тип у 0.9 и, как итог, переполнение

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта