"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 кое-кем тут любимый ;) - это сокращённый код -- Хорсун Влад