Moneda

La función CURRENCY devuelve un valor que se formatea como una cantidad con un símbolo de moneda especificado por el usuario y, si se especifica, uno de los tres símbolos que indican débito o crédito.

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualCURRENCY(cantidad-entrada, símbolo-moneda, indicador de crédito/débito)

El esquema es DSN8.

cantidad de entrada
Expresión que especifica el valor que se va a formatear. La expresión debe ser un valor de punto flotante.
símbolo-de-moneda
Una cadena de caracteres que especifica el símbolo de la moneda. La cadena debe tener un tipo de datos VARCHAR y una longitud real que no sea superior a 2 bytes.
indicador de crédito/débito
Una cadena de caracteres que especifica el símbolo que se incluye con el resultado para indicar si el valor es negativo o positivo. La cadena debe tener un tipo de datos VARCHAR y una longitud real que no sea superior a 5 bytes. Si el indicador de crédito/débito no se especifica o su valor es nulo, el resultado se formatea sin símbolo indicador. Puede especificar los siguientes símbolos:
CR/DB
Estilo bancario. Los valores de entrada negativos se añaden con 'DB'; los valores de entrada positivos se añaden con 'CR'.
+/-
Estilo aritmético. Los valores de entrada negativos llevan el prefijo de un signo menos «-»; los valores positivos se formatean sin símbolos.
(/)
Estilo de contabilidad. Los valores de entrada negativos se escriben entre paréntesis (); los valores positivos se formatean sin símbolos.

El resultado de la función es VARCHAR(19).

La función CURRENCY utiliza las funciones del lenguaje C strfmon para facilitar el formateo de cantidades monetarias y setlocale para inicializar strfmon para convenciones locales. Si setlocale falla, la función CURRENCY devuelve un error.

La siguiente tabla muestra el programa externo y los nombres específicos de MONEDA. Los nombres específicos difieren en función de la entrada de la función.
Tabla 1. Programa externo y nombres específicos para MONEDA
Argumentos de entrada Nombre externo Nombre específico

-currency-symbol input-amount
DSN8DUCY DSN8.DSN8DUCYFV

currency-symbol
credit/debit-indicator input-amount
DSN8DUCY DSN8.DSN8DUCYFVV
Ejemplo 1 : Exprese « -1234.56 » como una cantidad en dólares estadounidenses, utilizando el indicador de débito/crédito de estilo bancario para indicar si el valor es negativo o positivo.
   VALUES DSN8.CURRENCY( -1234.56,'$','CR/DB' );
El resultado de la función es «$1,234.56 DB ».
Ejemplo 2 : Exprese « -1234.56 » como una cantidad en marcos alemanes, utilizando el indicador de estilo contable de débito/crédito para indicar si el valor es negativo o positivo.
   VALUES DSN8.CURRENCY( -1234.56,'DM','(/)' );
El resultado de la función es «(DM 1,234.56) ».
Ejemplo 3 : Exprese « -1234.56 » como una cantidad en dólares canadienses, utilizando el indicador de estilo contable de débito/crédito para indicar si el valor es negativo o positivo.
   VALUES DSN8.CURRENCY( -1234.56,'CD','+/-' );
El resultado de la función es «-CD 1,234.56 ».