Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

деление без остатка [D7, XP]


Sergey2 ©   (2009-08-12 10:22:00) 

как в MsSQL в запросе проверить делится число без остатка или нет ?


Дмитрий Белькевич   (2009-08-12 12:56:00) [1]


>  "Но это уже будет другой NULL, не такой как первый или
> второй" (с) Petr V. Abramov


Троичная логика посильнее фауста Гёте (с).


Anatoly Podgoretsky   (2009-08-12 11:23:00) [2]

> Медвежонок Пятачок  (12.08.2009 10:35:04)  [4]

Кот Базилио и лиса Алиса.


Ega23   (2009-08-12 11:02:00) [3]


> делится ли нулл на нулл без остатка?


Нет, не делится, там NULL в результате будет.
"Но это уже будет другой NULL, не такой как первый или второй" (с) Petr V. Abramov

Если результат 0 - делится. Любой другой результат (включая exception) - нет.
:)


Медвежонок Пятачок   (2009-08-12 10:59:00) [4]

а вот еще подокапываюсь. не к кейсу конкртено
оба аргумента нулл
дележ даст нулл
в остатке нулл.

делится ли нулл на нулл без остатка?
:)


Ega23   (2009-08-12 10:56:00) [5]

Ну в этом случае операторы заранее должны быть на NULL проверены.
А точнее, на подобные столбцы я всегда NOT NULL накладываю.


Медвежонок Пятачок   (2009-08-12 10:49:00) [6]

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


Ega23   (2009-08-12 10:46:00) [7]


> в смысле второй вариант не использовал бы



Declare @A int;
Declare @B int;

Set @A=NULL;
Set @B=5;

Select case @A % @B when 0 then 'Делится!' else 'Epic Fail' end

---------
Epic Fail

(1 row(s) affected)


Медвежонок Пятачок   (2009-08-12 10:43:00) [8]

в смысле второй вариант не использовал бы


Sergey2   (2009-08-12 10:43:00) [9]

спасиб. точно %.
я вот так проверял сначала @A - @A / @b * @b = 0


Медвежонок Пятачок   (2009-08-12 10:42:00) [10]

я бы такой кейс не использовал. на случай нула


Ega23   (2009-08-12 10:40:00) [11]

гм...
Интересно, а какой Case быстрее сработает? Или монопенисуально?


Медвежонок Пятачок   (2009-08-12 10:35:00) [12]

да можно не проверять.
любое делится без остатка


Ega23   (2009-08-12 10:34:00) [13]


Declare @A int;
Declare @B int;

Set @A=10;
Set @B=5;

Select case @A % @B when 0 then 'Делится!' else 'Epic Fail' end


turbouser   (2009-08-12 10:30:00) [14]

SELECT CASE WHEN (25 % 5)=0 THEN 'Без остатка' ELSE 'С остатком' END


Медвежонок Пятачок   (2009-08-12 10:27:00) [15]

делится


Наверх

Титульная страница Поиск, карта сайта Написать письмо