SQLServer 2008: отображение информации с типом данных Money в классическом ASP

Я использую MS SQL 2008 для разработки одной системы с Classic ASP.

Я хочу показать 3 десятичных знака, что поле Тип данных - это деньги. Я получил ответ от этого http://www.sqlusa.com/bestpractices2005/moneyformat/.

Я использую это в своем заявлении SQL:

        CONVERT(VARCHAR, CAST(Sell_Price AS Decimal(19, 3))) AS Unit_Price

Я хочу знать: есть ли более эффективный способ (по производительности и использованию), чем мой текущий? Если есть, то покажите. Заранее спасибо!

С уважением,

Красные Дьяволы


person RedsDevils    schedule 22.10.2010    source источник


Ответы (1)


Лично я бы рассмотрел возможность возврата значения в неформатированном виде из базы данных и вместо этого отформатировал его для отображения в пользовательском интерфейсе - оставьте форматирование до внешнего интерфейса. В конце концов, БД не знает, для чего используются данные, которые она возвращает, например. что-то еще, выполняющее запрос, может потребовать возврата полной точности, поэтому это позволит сэкономить несколько разных версий.

person AdaTheDev    schedule 22.10.2010
comment
Спасибо за ответ. Я забыл упомянуть, что моя веб-страница предназначена для печати, и я использую там просмотр, из формы моста печати я просто отправляю идентификатор записи. Затем я выбираю из представления. Итак, как я могу форматировать в HTML? Печатная форма представляет собой простой HTML. - person RedsDevils; 22.10.2010
comment
Предположительно, запрос выполняется из классического ASP, который затем выполняет итерацию по набору записей, записывая данные клиенту, поэтому в этом цикле вы должны форматировать значение из этого столбца перед его записью. например что-то вроде (немного заржавело с классическим ASP!): Response.Write(FormatNumber(rs.Fields(Unit_Price), 2)) - person AdaTheDev; 22.10.2010