UFN_DESIGNATIONS_FORMAT_CURRENCY

Returns the money amount in nvarchar format based on Currency settings

Return

Return Type
nvarchar(50)

Parameters

Parameter Parameter Type Mode Description
@CURRENCYID uniqueidentifier IN
@AMOUNT money IN
@EMPTYTEXT nvarchar(50) IN

Definition

Copy


create function dbo.UFN_DESIGNATIONS_FORMAT_CURRENCY
(
  @CURRENCYID uniqueidentifier,
  @AMOUNT money,
  @EMPTYTEXT nvarchar(50)
)
returns nvarchar(50)
with execute as caller
as begin
  declare @FORMATTED nvarchar(50);

  declare @DECIMALDIGITS tinyint;
  declare @CURRENCYSYMBOL nvarchar(5);


  select
    @DECIMALDIGITS = DECIMALDIGITS,
    @CURRENCYSYMBOL = CURRENCYSYMBOL
  from 
  dbo.UFN_CURRENCY_GETPROPERTIES(@CURRENCYID);

  if @AMOUNT = 0 --If amount is 0, return the message, if supplied

  begin
     if @EMPTYTEXT != ''
        set @FORMATTED = @EMPTYTEXT;
     else
        set @FORMATTED = convert(nvarchar, @AMOUNT,1);
  end
  else  --Amount > 0, format and add currency symbol and return

  begin
    if @CURRENCYSYMBOL != ''
      set @FORMATTED = @CURRENCYSYMBOL;

    if @DECIMALDIGITS > 0 
        set @FORMATTED = @FORMATTED + convert(nvarchar, @AMOUNT, 1);
    else
        set @FORMATTED = @FORMATTED + convert(nvarchar, @AMOUNT);
  end 

  return @FORMATTED
end