"Dmitriy Kovalenko" ...
> >     угу, "якобы" :
> >
> > a) x = COALESCE(a, b, c)
> >
> > b) x = CASE WHEN a IS NOT NULL THEN a
> >             WHEN b IS NOT NULL THEN b
> >             WHEN c IS NOT NULL THEN c
> >             ELSE NULL
> >        END
> >
>
> Дело предпочтений. Не всегда
> сокращенный таким образом код есть
> благо (с логической точки зрения).
> Кто-то предпочтет более "прозрачную"
> читабельность кода, для себя вполне
> обоснованно, даже если физически кода
> будет больше (как в вышеприведенном
> тобой примере).

    Ты вместо a, b, c что-нить посложнее подставь и потом не ошибись
при копировании. А потом поредактируй это "что-нибудь посложнее" и
опять не ошибись. Насчёт логической точки зрения - не аргумент. Есть
оператор, есть его документированное поведение. Оно уже логично и
понятно ибо однозначно и просто. Да и COALESCE гораздо читабельнее,
чем лестница CASE'ов. Так что, в данном случае, это не есть сокращённый
код. Вот IIF кое-кем тут любимый ;) - это сокращённый код

-- 
Хорсун Влад


Ответить