Уменьшение избыточности / дублирования в коде SQL

В этом вопросе о stackoverflow принятый ответ предполагает повторение одних и тех же фрагментов кода несколько раз. По моему опыту, многие люди стремятся уменьшить это, инкапсулируя фрагменты кода различными способами, по разным причинам;
принятый ответ предполагает повторение одних и тех же фрагментов кода несколько раз. По моему опыту, многие люди стремятся уменьшить это, инкапсулируя фрагменты кода ...

В этом вопросе о stackoverflow принятый ответ предполагает повторение одних и тех же фрагментов кода несколько раз. По моему опыту, многие люди стремятся уменьшить это, инкапсулируя фрагменты кода различными способами, по разным причинам;
принятый ответ предполагает повторение одних и тех же фрагментов кода несколько раз. По моему опыту, многие люди стремятся уменьшить это, инкапсулируя фрагменты кода ...

В этом вопросе о stackoverflow принятый ответ предполагает повторение одних и тех же фрагментов кода несколько раз. По моему опыту, многие люди стремятся уменьшить это, инкапсулируя фрагменты кода различными способами, по разным причинам;
- Ремонтопригодность (меньше мест для изменения)
- Удобочитаемость (прочтите код один раз, затем каждый раз он будет «псевдонимом»)
- etc, etc

Используя код из связанного вопроса, как бы вы намеревались уменьшить повторение идентичных фрагментов кода? Или вы просто оставите все как есть?

(Не используя альтернативную логику, но придерживаясь использования REPLACE и т.д., просто изменив представление той же логики.)

Select  Case
        When CharIndex('.', Replace(URL, 'www.','')) > 0 then
           Left(Replace(URL, 'www.',''), CharIndex('.',Replace(URL, 'www.',''))-1)
        Else
           Replace(URL, 'www.','')
        End as [CleanURL]
From dbo.YourTable 

(Принятый ответ изменился, поэтому я скопировал пример кода сюда.)

РЕДАКТИРОВАТЬ

Просто для пояснения, поскольку я думаю, что вызвал путаницу.

Это не:
- Как мне инкапсулировать весь этот фрагмент кода для повторного использования?

Но это скорее:
- How do I reduce rendundancy within this piece of code?

5
задан Community 23 May 2017 в 09:58
поделиться