Мне не так повезло, как другим, которые разместили здесь. Код, с которым я работаю, обычно пишется кем-то другим, и редко встречаются операторы CASE или другие вычисления, конкатенации или логика, которые приводят к тому, что одна запись охватывает несколько строк сценария T_SQL.
Использование знака равенства вместо «AS» намного проще для чтения. Со знаком равенства вы знаете, что псевдоним, который вы ищете, находится в первой позиции строки. Когда используется «AS» и T_SQL занимает несколько строк, псевдоним может быть буквально где угодно.
Гораздо проще найти псевдоним «Items» при использовании equals, чем при использовании «AS».
SELECT
ElementObligationID = @MaxElementObligationID + eo.ElementObligationID
, ElementID = eo.ElementID
, IsotopeID = eo.IsotopeID
, ObligationID = eo.ObligationID
, ElementWeight = eo.ElementWeight * -1
, FissileWeight = eo.FissileWeight * -1
, Items = CASE WHEN eo.Items < 0 THEN eo.Items * -1
WHEN eo.Items > 0 THEN eo.Items
ELSE 0 END
, Comment = eo.Comment
, AdditionalComment = eo.AdditionalComment
, Aanmaak_userid = @UserID
, Aanmaak_tijdstip = GetDate()
, Laatste_wijziging_userid = @UserID
, Laatste_wijziging_tijdstip = GetDate()
FROM dbo.KTM_ElementObligation eo
INNER JOIN dbo.KTM_ElementObligationArticle eoa ON
eoa.ElementObligationID = eo.ElementObligationID
Теперь представьте, что у вас более чем в 5 раз больше кода, который здесь находится, и вам нужно найти псевдоним «Items».
SELECT
@MaxElementObligationID + eo.ElementObligationID AS ElementObligationID
, eo.ElementID AS ElementID
, eo.IsotopeID AS IsotopeID
, eo.ObligationID AS ObligationID
, eo.ElementWeight * -1 AS ElementWeight
, eo.FissileWeight * -1 AS FissileWeight
, CASE WHEN eo.Items < 0 THEN eo.Items * -1
WHEN eo.Items > 0 THEN eo.Items
ELSE 0 END AS Items
, eo.Comment AS Comment
, eo.AdditionalComment AS AdditionalComment
, @UserID AS Aanmaak_userid
, GetDate() AS Aanmaak_tijdstip
, @UserID AS Laatste_wijziging_userid
, GetDate() AS Laatste_wijziging_tijdstip
FROM dbo.KTM_ElementObligation eo
INNER JOIN dbo.KTM_ElementObligationArticle eoa ON
eoa.ElementObligationID = eo.ElementObligationID
'AS' vs '=' не является капризным и произвольным предпочтением. Я не преувеличиваю, когда говорю, что были времена, когда требовалось несколько минут, чтобы найти псевдоним, который я ищу, потому что автор сценария, за который я сейчас отвечаю, не использовал знак равенства со своим псевдонимом. Я не могу думать о большей трате времени, денег и ресурсов, чем платить ИТ-специалисту за поиск псевдонимов в коде !! Существует правильный и неправильный ответ, если вы заботитесь о удобстве обслуживания, удобочитаемости и эффективности . Ваша задача - обеспечить ценность для бизнеса, а не тратить день на поиски Уолдо!