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 ответов

11 просмотров

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

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 и, как итог, переполнение

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

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

Добрый день. Созданию отношения таблиц для учёта кораблей, их движения между точками (портами) согласно расписания. Терзают сомнения в правильном ли направлении двигаюсь 😅 1...
Aleksey
1
Привет. Наверняка у кого-нибудь здесь есть опыт работы с трекерами (встроенными в OpenCV (KCF) или абстрагированными) на одноплатниках. Если не рассматривать малинку и други...
Georgy Makarov
4
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
8
Всем привет, Добавил в плагин определение user agent public function registerMarkupTags() { return [ 'filters' => [ 'staticPage' => ['RainLab\Pages\Cl...
John Norton Kruger
3
И всё-таки спрошу насчет такого вариант, сомнительно или нет? (Windows стоять не будет)
Georgy Makarov
5
У них там что-то своё же вроде!?
Евгений Данилов
5
Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевір...
𝓔𝓾𝓰𝓮𝓷𝓮𝓥 J
2
Приветствую. Есть N видео объектов (фильмы). Часть полной длины просмотра а часть короткие ( обрезаны титры). Задача найти идентичные фильмы. Я не в курсе, есть ли аналог шаз...
Nikolay Chudinov
7
https://youtu.be/d8Jx6zO1yw0?si=AvWkrBe-RS3FAlWX Компилировал с CUDA по этому гайду, единственно моменты: 1) С VS 2022 работает, нужно только что бы была установлена среда C...
Denis
3
Кто знает как подружить Gstreamer с OpenCV? Вот такой пайплайн я шлю с гстримера но OpenCV + python у меня никак не получается его воспроизвести "gst-launch-1.0 nvarguscameras...
Artem
3
Карта сайта