Сделайте SQL-запрос более эффективным
У меня есть база данных с 6 полями, 2 из которых предназначены для десятичной высоты и ширины, а остальные 4 - для имперской высоты и ширины (футы и дюймы). Пользователи заполняют нужные поля. Когда я сообщаю/показываю на экране, у меня есть прикрепленный код для аккуратного отображения, но я не уверен, что он эффективен. Любые указания будут с радостью приняты. Спасибо!
Что я уже пробовал:
replace(case dbo.Data.DataType when 'Imperial' then case CAST(dbo.Data.Feet AS varchar) + 'Ft ' when '0Ft ' then '' else CAST(dbo.Data.Feet AS varchar) + 'Ft ' end + case CAST(dbo.Data.Inches AS varchar) + 'Ins x ' when '0.00Ins x ' then ' x ' else CAST(dbo.Data.Inches AS varchar) + 'Ins x ' end + case CAST(dbo.Data.FeetH AS varchar) + 'Ft ' when '0Ft ' then '' else CAST(dbo.Data.FeetH AS varchar) + 'Ft ' end + case CAST(dbo.Data.InchesH AS varchar) + 'Ins' when '0.00Ins' then '' else CAST(dbo.Data.InchesH AS varchar) + 'Ins' end else LTRIM(ISNULL(CAST(ROUND(dbo.Data.SizeW, 2) AS varchar), '')) + ' x ' + LTRIM(ISNULL(CAST(ROUND(dbo.Data.SizeH, 2) AS varchar), '')) + ' ' + dbo.Data.Unit end, '.00','') AS Size